From f3db64fa38f81b82319403d20970320e5f64c53c Mon Sep 17 00:00:00 2001 From: Nugraha Date: Fri, 2 Dec 2022 20:40:23 +0700 Subject: [PATCH] all: publish code --- .env | 1 + .gitignore | 17 + .vscode/launch.json | 22 + .vscode/tasks.json | 11 + Makefile | 55 + Makefile.autogen | 9 + Makefile.common | 7 + Makefile.sthrift | 34 + README.md | 20 + docker/Dockerfile | 7 + frontend/.babelrc | 7 + frontend/.env | 1 + frontend/.env.production | 2 + frontend/.eslintrc.cjs | 18 + frontend/.gitignore | 26 + frontend/.prettierrc.cjs | 8 + frontend/.vscode/extensions.json | 3 + frontend/Makefile | 17 + frontend/README.md | 16 + frontend/env.d.ts | 9 + frontend/gen/CoreService.d.ts | 75 + frontend/gen/CoreService.js | 2027 ++ frontend/gen/exceptions_types.d.ts | 18 + frontend/gen/exceptions_types.js | 114 + frontend/gen/exceptionsc_types.d.ts | 18 + frontend/gen/exceptionsc_types.js | 114 + frontend/gen/service_types.d.ts | 13 + frontend/gen/service_types.js | 16 + frontend/gen/structs_types.d.ts | 209 + frontend/gen/structs_types.js | 2028 ++ frontend/index.html | 13 + frontend/package.json | 95 + frontend/pnpm-lock.yaml | 6337 ++++ frontend/postcss.config.cjs | 6 + frontend/public/vite.svg | 1 + frontend/src/App.vue | 77 + frontend/src/assets/vue.svg | 1 + frontend/src/components/AlertBox.vue | 53 + frontend/src/components/NavigationBar.vue | 144 + frontend/src/components/SpinnerIcon.vue | 19 + frontend/src/hub/defaults.ts | 43 + frontend/src/hub/hub.ts | 36 + frontend/src/hub/index.ts | 28 + frontend/src/hub/service_type.ts | 3 + frontend/src/hub/xhr_client.ts | 80 + frontend/src/main.ts | 25 + frontend/src/router/index.ts | 24 + frontend/src/stores/alert.ts | 55 + frontend/src/stores/auth.ts | 73 + frontend/src/stores/theme.ts | 25 + frontend/src/style.css | 4 + frontend/src/utils/cookie.ts | 33 + frontend/src/views/core/AdminUserListView.vue | 501 + frontend/src/views/core/HomeView.vue | 16 + frontend/src/views/core/LoginView.vue | 80 + .../src/views/core/UserWajibPajakListView.vue | 358 + .../src/views/core/components/HeadingPage.vue | 5 + .../src/views/core/components/LoginCard.vue | 131 + .../src/views/core/components/ModalDialog.vue | 139 + frontend/src/views/core/index.ts | 63 + frontend/src/views/error/NotFoundView.vue | 32 + frontend/src/views/error/index.ts | 16 + frontend/src/vite-env.d.ts | 8 + frontend/tailwind.config.cjs | 32 + frontend/tsconfig.json | 36 + frontend/tsconfig.node.json | 15 + frontend/vite-polyfill-aliases.ts | 32 + frontend/vite.config.ts | 349 + ...vite.config.ts.timestamp-1668343269206.mjs | 166 + go.mod | 45 + go.sum | 120 + idl/biz/core/exceptions.thrift | 7 + idl/biz/core/service.thrift | 71 + idl/biz/core/structs.thrift | 200 + idl/common/exceptionsc.thrift | 7 + idl/common/service.thrift | 3 + internal/biz/core/core.go | 383 + internal/biz/core/default.go | 94 + internal/biz/core/handler_auth.go | 117 + internal/biz/core/handler_users.go | 160 + internal/biz/core/handler_wajib_pajak.go | 181 + internal/biz/core/util.go | 18 + internal/context.go | 84 + internal/http/server.go | 167 + internal/system/system.go | 61 + internal/vdext/validator.go | 31 + pkg/gen/biz/core/exceptions/exceptions.go | 330 + pkg/gen/biz/core/service.go | 4611 +++ pkg/gen/biz/core/structs/structs.go | 6658 ++++ pkg/gen/common/exceptionsc/exceptionsc.go | 340 + pkg/gen/common/service.go | 5 + pkg/gormlog/gormlog.go | 90 + public/assets/index.0c1f2447.js | 29266 ++++++++++++++++ public/assets/index.241d8ed5.js | 12760 +++++++ public/assets/index.d6f403e9.css | 3683 ++ public/index.html | 15 + public/manifest.json | 14 + public/public.go | 6 + public/vite.svg | 1 + tools.go | 8 + 100 files changed, 73612 insertions(+) create mode 100644 .env create mode 100644 .gitignore create mode 100644 .vscode/launch.json create mode 100644 .vscode/tasks.json create mode 100644 Makefile create mode 100644 Makefile.autogen create mode 100644 Makefile.common create mode 100644 Makefile.sthrift create mode 100644 README.md create mode 100644 docker/Dockerfile create mode 100644 frontend/.babelrc create mode 100644 frontend/.env create mode 100644 frontend/.env.production create mode 100644 frontend/.eslintrc.cjs create mode 100644 frontend/.gitignore create mode 100644 frontend/.prettierrc.cjs create mode 100644 frontend/.vscode/extensions.json create mode 100644 frontend/Makefile create mode 100644 frontend/README.md create mode 100644 frontend/env.d.ts create mode 100644 frontend/gen/CoreService.d.ts create mode 100644 frontend/gen/CoreService.js create mode 100644 frontend/gen/exceptions_types.d.ts create mode 100644 frontend/gen/exceptions_types.js create mode 100644 frontend/gen/exceptionsc_types.d.ts create mode 100644 frontend/gen/exceptionsc_types.js create mode 100644 frontend/gen/service_types.d.ts create mode 100644 frontend/gen/service_types.js create mode 100644 frontend/gen/structs_types.d.ts create mode 100644 frontend/gen/structs_types.js create mode 100644 frontend/index.html create mode 100644 frontend/package.json create mode 100644 frontend/pnpm-lock.yaml create mode 100644 frontend/postcss.config.cjs create mode 100644 frontend/public/vite.svg create mode 100644 frontend/src/App.vue create mode 100644 frontend/src/assets/vue.svg create mode 100644 frontend/src/components/AlertBox.vue create mode 100644 frontend/src/components/NavigationBar.vue create mode 100644 frontend/src/components/SpinnerIcon.vue create mode 100644 frontend/src/hub/defaults.ts create mode 100644 frontend/src/hub/hub.ts create mode 100644 frontend/src/hub/index.ts create mode 100644 frontend/src/hub/service_type.ts create mode 100644 frontend/src/hub/xhr_client.ts create mode 100644 frontend/src/main.ts create mode 100644 frontend/src/router/index.ts create mode 100644 frontend/src/stores/alert.ts create mode 100644 frontend/src/stores/auth.ts create mode 100644 frontend/src/stores/theme.ts create mode 100644 frontend/src/style.css create mode 100644 frontend/src/utils/cookie.ts create mode 100644 frontend/src/views/core/AdminUserListView.vue create mode 100644 frontend/src/views/core/HomeView.vue create mode 100644 frontend/src/views/core/LoginView.vue create mode 100644 frontend/src/views/core/UserWajibPajakListView.vue create mode 100644 frontend/src/views/core/components/HeadingPage.vue create mode 100644 frontend/src/views/core/components/LoginCard.vue create mode 100644 frontend/src/views/core/components/ModalDialog.vue create mode 100644 frontend/src/views/core/index.ts create mode 100644 frontend/src/views/error/NotFoundView.vue create mode 100644 frontend/src/views/error/index.ts create mode 100644 frontend/src/vite-env.d.ts create mode 100644 frontend/tailwind.config.cjs create mode 100644 frontend/tsconfig.json create mode 100644 frontend/tsconfig.node.json create mode 100644 frontend/vite-polyfill-aliases.ts create mode 100644 frontend/vite.config.ts create mode 100644 frontend/vite.config.ts.timestamp-1668343269206.mjs create mode 100644 go.mod create mode 100644 go.sum create mode 100644 idl/biz/core/exceptions.thrift create mode 100644 idl/biz/core/service.thrift create mode 100644 idl/biz/core/structs.thrift create mode 100644 idl/common/exceptionsc.thrift create mode 100644 idl/common/service.thrift create mode 100644 internal/biz/core/core.go create mode 100644 internal/biz/core/default.go create mode 100644 internal/biz/core/handler_auth.go create mode 100644 internal/biz/core/handler_users.go create mode 100644 internal/biz/core/handler_wajib_pajak.go create mode 100644 internal/biz/core/util.go create mode 100644 internal/context.go create mode 100644 internal/http/server.go create mode 100644 internal/system/system.go create mode 100644 internal/vdext/validator.go create mode 100644 pkg/gen/biz/core/exceptions/exceptions.go create mode 100644 pkg/gen/biz/core/service.go create mode 100644 pkg/gen/biz/core/structs/structs.go create mode 100644 pkg/gen/common/exceptionsc/exceptionsc.go create mode 100644 pkg/gen/common/service.go create mode 100644 pkg/gormlog/gormlog.go create mode 100644 public/assets/index.0c1f2447.js create mode 100644 public/assets/index.241d8ed5.js create mode 100644 public/assets/index.d6f403e9.css create mode 100644 public/index.html create mode 100644 public/manifest.json create mode 100644 public/public.go create mode 100644 public/vite.svg create mode 100644 tools.go diff --git a/.env b/.env new file mode 100644 index 0000000..dac37de --- /dev/null +++ b/.env @@ -0,0 +1 @@ +SECRET=hello_world \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8b13ebe --- /dev/null +++ b/.gitignore @@ -0,0 +1,17 @@ +# Personal +docs/ +app.db +docker/server +server + +# Editor directories and files +.vscode/* +!.vscode/tasks.json +!.vscode/launch.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..bc18a7b --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,22 @@ +{ + "configurations": [ + { + "name": "Launch server on external", + "type": "go", + "request": "launch", + "mode": "auto", + "program": "${workspaceFolder}/cmd/server", + "host": "127.0.0.1", + "port": 10500, + "showGlobalVariables": true, + }, + { + "name": "Launch server", + "type": "go", + "request": "launch", + "mode": "auto", + "program": "${workspaceFolder}/cmd/server", + "showGlobalVariables": true, + } + ] +} \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..7cec688 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,11 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "label": "Run dlv", + "type": "shell", + "command": "dlv dap --check-go-version --listen 127.0.0.1:10500", + "group": "build", + }, + ], +} \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..45fb10e --- /dev/null +++ b/Makefile @@ -0,0 +1,55 @@ +include Makefile.common +include Makefile.sthrift +include Makefile.autogen + +# use zig cc/c++ to statically link deps +TARGET_TRIPLE := x86_64-linux + +CFLAGS ?= +CFLAGS += -target $(TARGET_TRIPLE) + +CXXFLAGS ?= +CXXFLAGS += -target $(TARGET_TRIPLE) + +GOFLAGS ?= +GOFLAGS += -x -o docker/server + +all: +gen: gen-backend-thrift gen-frontend-thrift + +clean: clean-public + +clean-public: + rm -r public/ + mkdir public + echo "$$_G_PUBLIC_EXPORTER" > public/public.go + +build: frontend-build backend-build +build-dev: frontend-debug backend-build +build.docker: build + "docker" build -t f-ass-wpw:dev docker/ + +backend-dev: + go run github.com/ii64/go-dlv-manager@latest +backend-build: clean-public + CC="zig cc $(CFLAGS)" CXX="zig c++ $(CXXFLAGS)" go build $(GOFLAGS) wpw-common/cmd/server + +frontend-dev: + $(MAKE) -C frontend dev +frontend-debug: clean-public + $(MAKE) -C frontend build ENV=dev +frontend-build: clean-public + $(MAKE) -C frontend build ENV=production +frontend-preview: + $(MAKE) -C frontend preview + +gen-backend-thrift: + $(MAKE) gen-idl \ + THRIFT_DIR_SRC=$(THRIFT_IDL_DIR) \ + THRIFT_DIR_OUT=$(THRIFT_GEN_DIR) +gen-frontend-thrift: + $(MAKE) gen-idl \ + THRIFT=thrift \ + THRIFTGO_GEN=js:"node,ts,es6" \ + THRIFT_DIR_SRC=$(THRIFT_IDL_DIR) \ + THRIFT_DIR_OUT=$(FRONTEND_THRIFT_GEN_DIR) \ No newline at end of file diff --git a/Makefile.autogen b/Makefile.autogen new file mode 100644 index 0000000..0f2c6f2 --- /dev/null +++ b/Makefile.autogen @@ -0,0 +1,9 @@ +define _G_PUBLIC_EXPORTER +package public + +import "embed" + +//go:embed * +var FS embed.FS +endef +export _G_PUBLIC_EXPORTER \ No newline at end of file diff --git a/Makefile.common b/Makefile.common new file mode 100644 index 0000000..3788530 --- /dev/null +++ b/Makefile.common @@ -0,0 +1,7 @@ +PKG := wpw-common + +THRIFT_IDL_DIR := idl +THRIFT_LIB := github.com/apache/thrift/lib/go/thrift +THRIFT_GEN_PACKAGE_PREFIX := $(PKG)/pkg/gen +THRIFT_GEN_DIR := pkg/gen +FRONTEND_THRIFT_GEN_DIR := frontend/gen diff --git a/Makefile.sthrift b/Makefile.sthrift new file mode 100644 index 0000000..f3d8b46 --- /dev/null +++ b/Makefile.sthrift @@ -0,0 +1,34 @@ +include Makefile.common + +THRIFT_GEN_REMOTE_PATTERN := *remote + +THRIFTGO_GEN_FLAG := thrift_import_path=$(THRIFT_LIB),package_prefix=$(THRIFT_GEN_PACKAGE_PREFIX) +THRIFTGO_GEN_FLAG := $(THRIFTGO_GEN_FLAG),reorder_fields=true +THRIFTGO_GEN_FLAG := $(THRIFTGO_GEN_FLAG),frugal_tag=true +THRIFTGO_GEN_FLAG := $(THRIFTGO_GEN_FLAG),keep_unknown_fields=true +THRIFTGO_GEN_FLAG := $(THRIFTGO_GEN_FLAG),reserve_comments=true +THRIFTGO_GEN_FLAG := $(THRIFTGO_GEN_FLAG),nil_safe=false +THRIFTGO_GEN_FLAG := $(THRIFTGO_GEN_FLAG),compatible_names=true +THRIFTGO_GEN_FLAG := $(THRIFTGO_GEN_FLAG),gen_type_meta=true + +# THRIFTGO_GEN_FLAG := $(THRIFTGO_GEN_FLAG),value_type_in_container=true +THRIFTGO_GEN_FLAG := $(THRIFTGO_GEN_FLAG),validate_set=true +THRIFTGO_GEN_FLAG := $(THRIFTGO_GEN_FLAG),use_type_alias=true +THRIFTGO_GEN_FLAG := $(THRIFTGO_GEN_FLAG),gen_db_tag=true +THRIFTGO_GEN_FLAG := $(THRIFTGO_GEN_FLAG),gen_setter=true + +THRIFTGO_GEN := go:"$(THRIFTGO_GEN_FLAG)" +THRIFT := thriftgo + +# gen-idl need `THRIFT_DIR_SRC` as input, and `THRIFT_DIR_OUT` as output. +.PHONY: gen-idl +gen-idl: + go run github.com/ii64/thrift-idl-builder \ + -errors \ + -wrk 10 \ + -source-dir $(THRIFT_DIR_SRC) \ + -o $(THRIFT_DIR_OUT) \ + -bin $(THRIFT) \ + -gen $(THRIFTGO_GEN) && \ + bash -c 'find $(THRIFTGO_DIR_OUT) -name "$(THRIFT_GEN_REMOTE_PATTERN)" -prune -exec bash -c "echo {} && rm -r {}" \;' && \ + echo OK \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..34da0e0 --- /dev/null +++ b/README.md @@ -0,0 +1,20 @@ +## Project-Title + +This is a Go+Vite(Vue) template that just quickly written to fulfil the need of personal stuff. +Consider to read existing implementations before using. + +Tech Stack used: Go, fasthttp, Apache Thrift/ThriftGo, GORM, Vite + Vue3 + TS + +Development: + + Ctrl+Shift+B - run instance + F5 - attach debug + + make frontend-dev + +Run: + + make build.docker + docker run --rm -e SECRET=abc f-ass-wpw:dev + +MIT. ntsc diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..2b7da09 --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,7 @@ +FROM alpine:latest + +WORKDIR /app +# yes, cheat. Ideally I would use multi stage build here +# but in this case I'll just throw this away. +COPY server /app/server +ENTRYPOINT [ "/app/server" ] \ No newline at end of file diff --git a/frontend/.babelrc b/frontend/.babelrc new file mode 100644 index 0000000..845cb2b --- /dev/null +++ b/frontend/.babelrc @@ -0,0 +1,7 @@ +{ + "plugins": [ + "minify-dead-code-elimination", + "@babel/plugin-transform-classes", + "@babel/plugin-syntax-class-properties", + ] +} \ No newline at end of file diff --git a/frontend/.env b/frontend/.env new file mode 100644 index 0000000..dbf9ff1 --- /dev/null +++ b/frontend/.env @@ -0,0 +1 @@ +VITE_HUB_URL=http://127.0.0.1:8000/api/core/v1 \ No newline at end of file diff --git a/frontend/.env.production b/frontend/.env.production new file mode 100644 index 0000000..bc7c677 --- /dev/null +++ b/frontend/.env.production @@ -0,0 +1,2 @@ +# VITE_HUB_URL=https://int-cip.i64.tech/api/core/v1 +VITE_HUB_URL=http://127.0.0.1:8000/api/core/v1 \ No newline at end of file diff --git a/frontend/.eslintrc.cjs b/frontend/.eslintrc.cjs new file mode 100644 index 0000000..bf6ca43 --- /dev/null +++ b/frontend/.eslintrc.cjs @@ -0,0 +1,18 @@ +/* eslint-env node */ +require('@rushstack/eslint-patch/modern-module-resolution'); + +module.exports = { + root: true, + rules: { + '@typescript-eslint/ban-ts-comment': ['error', { 'ts-ignore': 'allow-with-description' }], + // '@typescript-eslint/ban-ts-ignore': 'off', + // '@typescript-eslint/ban-ts-comment': 'off', + }, + extends: [ + // 'plugin:vue/vue3-essential', + 'plugin:prettier/recommended', + 'eslint:recommended', + '@vue/eslint-config-typescript/recommended', + '@vue/eslint-config-prettier', + ], +}; diff --git a/frontend/.gitignore b/frontend/.gitignore new file mode 100644 index 0000000..402a7ff --- /dev/null +++ b/frontend/.gitignore @@ -0,0 +1,26 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +node_modules_linux +node_modules_windows +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/frontend/.prettierrc.cjs b/frontend/.prettierrc.cjs new file mode 100644 index 0000000..65e5a4d --- /dev/null +++ b/frontend/.prettierrc.cjs @@ -0,0 +1,8 @@ +module.exports = { + semi: true, + trailingComma: "all", + singleQuote: true, + printWidth: 100, + tabWidth: 2, + endOfLine:"auto" +}; \ No newline at end of file diff --git a/frontend/.vscode/extensions.json b/frontend/.vscode/extensions.json new file mode 100644 index 0000000..a7cea0b --- /dev/null +++ b/frontend/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["Vue.volar"] +} diff --git a/frontend/Makefile b/frontend/Makefile new file mode 100644 index 0000000..aebb12e --- /dev/null +++ b/frontend/Makefile @@ -0,0 +1,17 @@ +ifdef ENV +ENV_FLAG := --mode $(ENV) +endif + +all: dev + +typecheck: + pnpm run typecheck +lint: + pnpm run lint + +dev: + pnpm run dev +build: + pnpm run build $(ENV_FLAG) +preview: + pnpm run preview \ No newline at end of file diff --git a/frontend/README.md b/frontend/README.md new file mode 100644 index 0000000..30b15e2 --- /dev/null +++ b/frontend/README.md @@ -0,0 +1,16 @@ +# Vue 3 + TypeScript + Vite + +This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 ` + + diff --git a/frontend/package.json b/frontend/package.json new file mode 100644 index 0000000..bccc73a --- /dev/null +++ b/frontend/package.json @@ -0,0 +1,95 @@ +{ + "name": "frontend", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vue-tsc && vite build", + "typecheck": "vuedx-typecheck .", + "lint": "eslint --fix .", + "preview": "vite preview" + }, + "dependencies": { + "@algolia/client-search": "^4.14.2", + "@heroicons/vue": "^2.0.13", + "@vueuse/core": "^9.4.0", + "classnames": "^2.3.2", + "flowbite": "1.5.0", + "flowbite-vue": "^0.0.6", + "pinia": "^2.0.23", + "thrift": "^0.16.0", + "vue": "^3.2.41", + "vue-router": "^4.1.6", + "vue3-easy-data-table": "^1.5.12", + "vue3-perfect-scrollbar": "^1.6.1" + + }, + "devDependencies": { + "node-stdlib-browser": "^1.2.0", + "@ampproject/rollup-plugin-closure-compiler": "^0.27.0", + "@babel/core": "^7.0.0", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-transform-classes": "^7.19.0", + "@babel/preset-env": "^7.19.4", + "@esbuild-plugins/node-globals-polyfill": "^0.1.1", + "@esbuild-plugins/node-modules-polyfill": "^0.1.4", + "@lopatnov/rollup-plugin-uglify": "^2.1.5", + "@originjs/vite-plugin-commonjs": "^1.0.3", + "@rollup/plugin-babel": "^6.0.2", + "@rollup/plugin-commonjs": "^22.0.2", + "@rollup/plugin-inject": "^4.0.4", + "@rollup/plugin-node-resolve": "^13.3.0", + "@rollup/plugin-terser": "^0.1.0", + "@rushstack/eslint-patch": "^1.2.0", + "@types/node": "^16.18.3", + "@types/thrift": "^0.10.11", + "@vitejs/plugin-legacy": "^2.3.0", + "@vitejs/plugin-vue": "^3.2.0", + "@vitejs/plugin-vue-jsx": "^2.1.0", + "@vue/eslint-config-prettier": "^7.0.0", + "@vue/eslint-config-typescript": "^11.0.2", + "@vue/tsconfig": "^0.1.3", + "@vuedx/typecheck": "^0.7.6", + "@vuedx/typescript-plugin-vue": "^0.7.6", + "autoprefixer": "^10.4.13", + "babel-plugin-minify-dead-code-elimination": "^0.5.2", + "class-names": "^1.0.0", + "esbuild": "*", + "eslint": "^8.5.0", + "eslint-config-prettier": "^8.5.0", + "eslint-plugin-prettier": "^4.2.1", + "eslint-plugin-vue": "^9.7.0", + "node-int64": "^0.4.0", + "postcss": "^8.4.18", + "prettier": "^2.7.1", + "rollup": "^2.79.0", + "rollup-obfuscator": "^3.0.1", + "rollup-plugin-node-globals": "^1.4.0", + "rollup-plugin-node-polyfills": "^0.2.1", + "tailwindcss": "^3.2.2", + "terser": "^5.15.1", + "typescript": "^4.6.4", + "vite": "^3.2.0", + "vite-plugin-chunk-split": "^0.4.3", + "vite-plugin-node-stdlib-browser": "^0.1.1", + "vue-tsc": "^1.0.9" + }, + "eslintConfigxxx": { + "root": true, + "env": { + "browser": true, + "node": true, + "es6": true + }, + "extendsxx": [ + "plugin:vue/essential", + "plugin:prettier/recommended", + "eslint:recommended" + ], + "parserOptions": { + "parser": "babel-eslint" + }, + "rules": {} + } +} \ No newline at end of file diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml new file mode 100644 index 0000000..1a6cd03 --- /dev/null +++ b/frontend/pnpm-lock.yaml @@ -0,0 +1,6337 @@ +lockfileVersion: 5.4 + +specifiers: + '@algolia/client-search': ^4.14.2 + '@ampproject/rollup-plugin-closure-compiler': ^0.27.0 + '@babel/core': ^7.0.0 + '@babel/plugin-syntax-class-properties': ^7.12.13 + '@babel/plugin-transform-classes': ^7.19.0 + '@babel/preset-env': ^7.19.4 + '@esbuild-plugins/node-globals-polyfill': ^0.1.1 + '@esbuild-plugins/node-modules-polyfill': ^0.1.4 + '@heroicons/vue': ^2.0.13 + '@lopatnov/rollup-plugin-uglify': ^2.1.5 + '@originjs/vite-plugin-commonjs': ^1.0.3 + '@rollup/plugin-babel': ^6.0.2 + '@rollup/plugin-commonjs': ^22.0.2 + '@rollup/plugin-inject': ^4.0.4 + '@rollup/plugin-node-resolve': ^13.3.0 + '@rollup/plugin-terser': ^0.1.0 + '@rushstack/eslint-patch': ^1.2.0 + '@types/node': ^16.18.3 + '@types/thrift': ^0.10.11 + '@vitejs/plugin-legacy': ^2.3.0 + '@vitejs/plugin-vue': ^3.2.0 + '@vitejs/plugin-vue-jsx': ^2.1.0 + '@vue/eslint-config-prettier': ^7.0.0 + '@vue/eslint-config-typescript': ^11.0.2 + '@vue/tsconfig': ^0.1.3 + '@vuedx/typecheck': ^0.7.6 + '@vuedx/typescript-plugin-vue': ^0.7.6 + '@vueuse/core': ^9.4.0 + autoprefixer: ^10.4.13 + babel-plugin-minify-dead-code-elimination: ^0.5.2 + class-names: ^1.0.0 + classnames: ^2.3.2 + esbuild: '*' + eslint: ^8.5.0 + eslint-config-prettier: ^8.5.0 + eslint-plugin-prettier: ^4.2.1 + eslint-plugin-vue: ^9.7.0 + flowbite: 1.5.0 + flowbite-vue: ^0.0.6 + node-int64: ^0.4.0 + node-stdlib-browser: ^1.2.0 + pinia: ^2.0.23 + postcss: ^8.4.18 + prettier: ^2.7.1 + recommended: link:@vue/eslint-config-typescript/recommended + rollup: ^2.79.0 + rollup-obfuscator: ^3.0.1 + rollup-plugin-node-globals: ^1.4.0 + rollup-plugin-node-polyfills: ^0.2.1 + tailwindcss: ^3.2.2 + terser: ^5.15.1 + thrift: ^0.16.0 + typescript: ^4.6.4 + vite: ^3.2.0 + vite-plugin-chunk-split: ^0.4.3 + vite-plugin-node-stdlib-browser: ^0.1.1 + vue: ^3.2.41 + vue-router: ^4.1.6 + vue-tsc: ^1.0.9 + vue3-easy-data-table: ^1.5.12 + vue3-perfect-scrollbar: ^1.6.1 + +dependencies: + '@algolia/client-search': 4.14.2 + '@heroicons/vue': 2.0.13_vue@3.2.41 + '@vueuse/core': 9.4.0_vue@3.2.41 + classnames: 2.3.2 + flowbite: 1.5.0 + flowbite-vue: 0.0.6_vyk56yvshhckmgqssku7qaflqi + node-stdlib-browser: 1.2.0 + pinia: 2.0.23_l7r24p6nevbtlimqmqcwa3ouhu + thrift: 0.16.0 + vue: 3.2.41 + vue-router: 4.1.6_vue@3.2.41 + vue3-easy-data-table: 1.5.12 + vue3-perfect-scrollbar: 1.6.1_postcss@8.4.18 + +devDependencies: + '@ampproject/rollup-plugin-closure-compiler': 0.27.0_rollup@2.79.1 + '@babel/core': 7.19.6 + '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.19.6 + '@babel/plugin-transform-classes': 7.19.0_@babel+core@7.19.6 + '@babel/preset-env': 7.19.4_@babel+core@7.19.6 + '@esbuild-plugins/node-globals-polyfill': 0.1.1_esbuild@0.15.13 + '@esbuild-plugins/node-modules-polyfill': 0.1.4_esbuild@0.15.13 + '@lopatnov/rollup-plugin-uglify': 2.1.5_tmhs7xnjcxrp2ultwy7bfacunu + '@originjs/vite-plugin-commonjs': 1.0.3 + '@rollup/plugin-babel': 6.0.2_vyv4jbhmcriklval33ak5sngky + '@rollup/plugin-commonjs': 22.0.2_rollup@2.79.1 + '@rollup/plugin-inject': 4.0.4_rollup@2.79.1 + '@rollup/plugin-node-resolve': 13.3.0_rollup@2.79.1 + '@rollup/plugin-terser': 0.1.0_rollup@2.79.1 + '@rushstack/eslint-patch': 1.2.0 + '@types/node': 16.18.3 + '@types/thrift': 0.10.11 + '@vitejs/plugin-legacy': 2.3.0_terser@5.15.1+vite@3.2.2 + '@vitejs/plugin-vue': 3.2.0_vite@3.2.2+vue@3.2.41 + '@vitejs/plugin-vue-jsx': 2.1.0_vite@3.2.2+vue@3.2.41 + '@vue/eslint-config-prettier': 7.0.0_5t6g5rrqvlktilv3n3sw5svbdi + '@vue/eslint-config-typescript': 11.0.2_a2woajwjjwk2j4x6hcq37wa7k4 + '@vue/tsconfig': 0.1.3_@types+node@16.18.3 + '@vuedx/typecheck': 0.7.6 + '@vuedx/typescript-plugin-vue': 0.7.6 + autoprefixer: 10.4.13_postcss@8.4.18 + babel-plugin-minify-dead-code-elimination: 0.5.2 + class-names: 1.0.0 + esbuild: 0.15.13 + eslint: 8.26.0 + eslint-config-prettier: 8.5.0_eslint@8.26.0 + eslint-plugin-prettier: 4.2.1_aniwkeyvlpmwkidetuytnokvcm + eslint-plugin-vue: 9.7.0_eslint@8.26.0 + node-int64: 0.4.0 + postcss: 8.4.18 + prettier: 2.7.1 + recommended: link:@vue/eslint-config-typescript/recommended + rollup: 2.79.1 + rollup-obfuscator: 3.0.1 + rollup-plugin-node-globals: 1.4.0 + rollup-plugin-node-polyfills: 0.2.1 + tailwindcss: 3.2.2_postcss@8.4.18 + terser: 5.15.1 + typescript: 4.8.4 + vite: 3.2.2_terser@5.15.1 + vite-plugin-chunk-split: 0.4.3_terser@5.15.1 + vite-plugin-node-stdlib-browser: 0.1.1_2kanylj5izyyptb57x4jqclh2u + vue-tsc: 1.0.9_typescript@4.8.4 + +packages: + + /@algolia/autocomplete-core/1.7.2: + resolution: {integrity: sha512-eclwUDC6qfApNnEfu1uWcL/rudQsn59tjEoUYZYE2JSXZrHLRjBUGMxiCoknobU2Pva8ejb0eRxpIYDtVVqdsw==} + dependencies: + '@algolia/autocomplete-shared': 1.7.2 + dev: false + + /@algolia/autocomplete-preset-algolia/1.7.2_qs6lk5nhygj2o3hj4sf6xnr724: + resolution: {integrity: sha512-+RYEG6B0QiGGfRb2G3MtPfyrl0dALF3cQNTWBzBX6p5o01vCCGTTinAm2UKG3tfc2CnOMAtnPLkzNZyJUpnVJw==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + dependencies: + '@algolia/autocomplete-shared': 1.7.2 + '@algolia/client-search': 4.14.2 + algoliasearch: 4.14.2 + dev: false + + /@algolia/autocomplete-shared/1.7.2: + resolution: {integrity: sha512-QCckjiC7xXHIUaIL3ektBtjJ0w7tTA3iqKcAE/Hjn1lZ5omp7i3Y4e09rAr9ZybqirL7AbxCLLq0Ra5DDPKeug==} + dev: false + + /@algolia/cache-browser-local-storage/4.14.2: + resolution: {integrity: sha512-FRweBkK/ywO+GKYfAWbrepewQsPTIEirhi1BdykX9mxvBPtGNKccYAxvGdDCumU1jL4r3cayio4psfzKMejBlA==} + dependencies: + '@algolia/cache-common': 4.14.2 + dev: false + + /@algolia/cache-common/4.14.2: + resolution: {integrity: sha512-SbvAlG9VqNanCErr44q6lEKD2qoK4XtFNx9Qn8FK26ePCI8I9yU7pYB+eM/cZdS9SzQCRJBbHUumVr4bsQ4uxg==} + dev: false + + /@algolia/cache-in-memory/4.14.2: + resolution: {integrity: sha512-HrOukWoop9XB/VFojPv1R5SVXowgI56T9pmezd/djh2JnVN/vXswhXV51RKy4nCpqxyHt/aGFSq2qkDvj6KiuQ==} + dependencies: + '@algolia/cache-common': 4.14.2 + dev: false + + /@algolia/client-account/4.14.2: + resolution: {integrity: sha512-WHtriQqGyibbb/Rx71YY43T0cXqyelEU0lB2QMBRXvD2X0iyeGl4qMxocgEIcbHyK7uqE7hKgjT8aBrHqhgc1w==} + dependencies: + '@algolia/client-common': 4.14.2 + '@algolia/client-search': 4.14.2 + '@algolia/transporter': 4.14.2 + dev: false + + /@algolia/client-analytics/4.14.2: + resolution: {integrity: sha512-yBvBv2mw+HX5a+aeR0dkvUbFZsiC4FKSnfqk9rrfX+QrlNOKEhCG0tJzjiOggRW4EcNqRmaTULIYvIzQVL2KYQ==} + dependencies: + '@algolia/client-common': 4.14.2 + '@algolia/client-search': 4.14.2 + '@algolia/requester-common': 4.14.2 + '@algolia/transporter': 4.14.2 + dev: false + + /@algolia/client-common/4.14.2: + resolution: {integrity: sha512-43o4fslNLcktgtDMVaT5XwlzsDPzlqvqesRi4MjQz2x4/Sxm7zYg5LRYFol1BIhG6EwxKvSUq8HcC/KxJu3J0Q==} + dependencies: + '@algolia/requester-common': 4.14.2 + '@algolia/transporter': 4.14.2 + dev: false + + /@algolia/client-personalization/4.14.2: + resolution: {integrity: sha512-ACCoLi0cL8CBZ1W/2juehSltrw2iqsQBnfiu/Rbl9W2yE6o2ZUb97+sqN/jBqYNQBS+o0ekTMKNkQjHHAcEXNw==} + dependencies: + '@algolia/client-common': 4.14.2 + '@algolia/requester-common': 4.14.2 + '@algolia/transporter': 4.14.2 + dev: false + + /@algolia/client-search/4.14.2: + resolution: {integrity: sha512-L5zScdOmcZ6NGiVbLKTvP02UbxZ0njd5Vq9nJAmPFtjffUSOGEp11BmD2oMJ5QvARgx2XbX4KzTTNS5ECYIMWw==} + dependencies: + '@algolia/client-common': 4.14.2 + '@algolia/requester-common': 4.14.2 + '@algolia/transporter': 4.14.2 + dev: false + + /@algolia/logger-common/4.14.2: + resolution: {integrity: sha512-/JGlYvdV++IcMHBnVFsqEisTiOeEr6cUJtpjz8zc0A9c31JrtLm318Njc72p14Pnkw3A/5lHHh+QxpJ6WFTmsA==} + dev: false + + /@algolia/logger-console/4.14.2: + resolution: {integrity: sha512-8S2PlpdshbkwlLCSAB5f8c91xyc84VM9Ar9EdfE9UmX+NrKNYnWR1maXXVDQQoto07G1Ol/tYFnFVhUZq0xV/g==} + dependencies: + '@algolia/logger-common': 4.14.2 + dev: false + + /@algolia/requester-browser-xhr/4.14.2: + resolution: {integrity: sha512-CEh//xYz/WfxHFh7pcMjQNWgpl4wFB85lUMRyVwaDPibNzQRVcV33YS+63fShFWc2+42YEipFGH2iPzlpszmDw==} + dependencies: + '@algolia/requester-common': 4.14.2 + dev: false + + /@algolia/requester-common/4.14.2: + resolution: {integrity: sha512-73YQsBOKa5fvVV3My7iZHu1sUqmjjfs9TteFWwPwDmnad7T0VTCopttcsM3OjLxZFtBnX61Xxl2T2gmG2O4ehg==} + dev: false + + /@algolia/requester-node-http/4.14.2: + resolution: {integrity: sha512-oDbb02kd1o5GTEld4pETlPZLY0e+gOSWjWMJHWTgDXbv9rm/o2cF7japO6Vj1ENnrqWvLBmW1OzV9g6FUFhFXg==} + dependencies: + '@algolia/requester-common': 4.14.2 + dev: false + + /@algolia/transporter/4.14.2: + resolution: {integrity: sha512-t89dfQb2T9MFQHidjHcfhh6iGMNwvuKUvojAj+JsrHAGbuSy7yE4BylhLX6R0Q1xYRoC4Vvv+O5qIw/LdnQfsQ==} + dependencies: + '@algolia/cache-common': 4.14.2 + '@algolia/logger-common': 4.14.2 + '@algolia/requester-common': 4.14.2 + dev: false + + /@ampproject/remapping/0.2.0: + resolution: {integrity: sha512-a4EztS9/GOVQjX5Ol+Iz33TFhaXvYBF7aB6D8+Qz0/SCIxOm3UNRhGZiwcCuJ8/Ifc6NCogp3S48kc5hFxRpUw==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/resolve-uri': 1.0.0 + sourcemap-codec: 1.4.8 + dev: true + + /@ampproject/remapping/2.2.0: + resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.1.1 + '@jridgewell/trace-mapping': 0.3.17 + dev: true + + /@ampproject/rollup-plugin-closure-compiler/0.27.0_rollup@2.79.1: + resolution: {integrity: sha512-stpAOn2ZZEJuAV39HFw9cnKJYNhEeHtcsoa83orpLDhSxsxSbVEKwHaWlFBaQYpQRSOdapC4eJhJnCzocZxnqg==} + engines: {node: '>=10'} + peerDependencies: + rollup: '>=1.27' + dependencies: + '@ampproject/remapping': 0.2.0 + acorn: 7.3.1 + acorn-walk: 7.1.1 + estree-walker: 2.0.1 + google-closure-compiler: 20210808.0.0 + magic-string: 0.25.7 + rollup: 2.79.1 + uuid: 8.1.0 + dev: true + + /@babel/code-frame/7.18.6: + resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.18.6 + dev: true + + /@babel/compat-data/7.20.1: + resolution: {integrity: sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/core/7.19.6: + resolution: {integrity: sha512-D2Ue4KHpc6Ys2+AxpIx1BZ8+UegLLLE2p3KJEuJRKmokHOtl49jQ5ny1773KsGLZs8MQvBidAF6yWUJxRqtKtg==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.0 + '@babel/code-frame': 7.18.6 + '@babel/generator': 7.20.1 + '@babel/helper-compilation-targets': 7.20.0_@babel+core@7.19.6 + '@babel/helper-module-transforms': 7.19.6 + '@babel/helpers': 7.20.1 + '@babel/parser': 7.20.1 + '@babel/template': 7.18.10 + '@babel/traverse': 7.20.1 + '@babel/types': 7.20.0 + convert-source-map: 1.9.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.1 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/generator/7.20.1: + resolution: {integrity: sha512-u1dMdBUmA7Z0rBB97xh8pIhviK7oItYOkjbsCxTWMknyvbQRBwX7/gn4JXurRdirWMFh+ZtYARqkA6ydogVZpg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.20.0 + '@jridgewell/gen-mapping': 0.3.2 + jsesc: 2.5.2 + dev: true + + /@babel/helper-annotate-as-pure/7.18.6: + resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.20.0 + dev: true + + /@babel/helper-builder-binary-assignment-operator-visitor/7.18.9: + resolution: {integrity: sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-explode-assignable-expression': 7.18.6 + '@babel/types': 7.20.0 + dev: true + + /@babel/helper-compilation-targets/7.20.0_@babel+core@7.19.6: + resolution: {integrity: sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/compat-data': 7.20.1 + '@babel/core': 7.19.6 + '@babel/helper-validator-option': 7.18.6 + browserslist: 4.21.4 + semver: 6.3.0 + dev: true + + /@babel/helper-create-class-features-plugin/7.19.0_@babel+core@7.19.6: + resolution: {integrity: sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-environment-visitor': 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.19.1 + '@babel/helper-split-export-declaration': 7.18.6 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-create-regexp-features-plugin/7.19.0_@babel+core@7.19.6: + resolution: {integrity: sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-annotate-as-pure': 7.18.6 + regexpu-core: 5.2.1 + dev: true + + /@babel/helper-define-polyfill-provider/0.3.3_@babel+core@7.19.6: + resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==} + peerDependencies: + '@babel/core': ^7.4.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-compilation-targets': 7.20.0_@babel+core@7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + debug: 4.3.4 + lodash.debounce: 4.0.8 + resolve: 1.22.1 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-environment-visitor/7.18.9: + resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-explode-assignable-expression/7.18.6: + resolution: {integrity: sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.20.0 + dev: true + + /@babel/helper-function-name/7.19.0: + resolution: {integrity: sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.18.10 + '@babel/types': 7.20.0 + dev: true + + /@babel/helper-hoist-variables/7.18.6: + resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.20.0 + dev: true + + /@babel/helper-member-expression-to-functions/7.18.9: + resolution: {integrity: sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.20.0 + dev: true + + /@babel/helper-module-imports/7.18.6: + resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.20.0 + dev: true + + /@babel/helper-module-transforms/7.19.6: + resolution: {integrity: sha512-fCmcfQo/KYr/VXXDIyd3CBGZ6AFhPFy1TfSEJ+PilGVlQT6jcbqtHAM4C1EciRqMza7/TpOUZliuSH+U6HAhJw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-module-imports': 7.18.6 + '@babel/helper-simple-access': 7.19.4 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/helper-validator-identifier': 7.19.1 + '@babel/template': 7.18.10 + '@babel/traverse': 7.20.1 + '@babel/types': 7.20.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-optimise-call-expression/7.18.6: + resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.20.0 + dev: true + + /@babel/helper-plugin-utils/7.19.0: + resolution: {integrity: sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-remap-async-to-generator/7.18.9_@babel+core@7.19.6: + resolution: {integrity: sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-wrap-function': 7.19.0 + '@babel/types': 7.20.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-replace-supers/7.19.1: + resolution: {integrity: sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==} + engines: {node: '>=6.9.0'} + 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.20.1 + '@babel/types': 7.20.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-simple-access/7.19.4: + resolution: {integrity: sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.20.0 + dev: true + + /@babel/helper-skip-transparent-expression-wrappers/7.20.0: + resolution: {integrity: sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.20.0 + dev: true + + /@babel/helper-split-export-declaration/7.18.6: + resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.20.0 + dev: true + + /@babel/helper-string-parser/7.19.4: + resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-identifier/7.19.1: + resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-option/7.18.6: + resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-wrap-function/7.19.0: + resolution: {integrity: sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-function-name': 7.19.0 + '@babel/template': 7.18.10 + '@babel/traverse': 7.20.1 + '@babel/types': 7.20.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helpers/7.20.1: + resolution: {integrity: sha512-J77mUVaDTUJFZ5BpP6mMn6OIl3rEWymk2ZxDBQJUG3P+PbmyMcF3bYWvz0ma69Af1oobDqT/iAsvzhB58xhQUg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.18.10 + '@babel/traverse': 7.20.1 + '@babel/types': 7.20.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/highlight/7.18.6: + resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.19.1 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true + + /@babel/parser/7.12.3: + resolution: {integrity: sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.20.0 + dev: true + + /@babel/parser/7.20.1: + resolution: {integrity: sha512-hp0AYxaZJhxULfM1zyp7Wgr+pSUKBcP3M+PHnSzWGdXOzg/kHWIgiUWARvubhUKGOEw3xqY4x+lyZ9ytBVcELw==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.20.0 + + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.18.6_@babel+core@7.19.6: + resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.18.9_@babel+core@7.19.6: + resolution: {integrity: sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/plugin-proposal-optional-chaining': 7.18.9_@babel+core@7.19.6 + dev: true + + /@babel/plugin-proposal-async-generator-functions/7.20.1_@babel+core@7.19.6: + resolution: {integrity: sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-plugin-utils': 7.19.0 + '@babel/helper-remap-async-to-generator': 7.18.9_@babel+core@7.19.6 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.19.6 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-proposal-class-properties/7.18.6_@babel+core@7.19.6: + resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-create-class-features-plugin': 7.19.0_@babel+core@7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-proposal-class-static-block/7.18.6_@babel+core@7.19.6: + resolution: {integrity: sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-create-class-features-plugin': 7.19.0_@babel+core@7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.19.6 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-proposal-dynamic-import/7.18.6_@babel+core@7.19.6: + resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.19.6 + dev: true + + /@babel/plugin-proposal-export-namespace-from/7.18.9_@babel+core@7.19.6: + resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.19.6 + dev: true + + /@babel/plugin-proposal-json-strings/7.18.6_@babel+core@7.19.6: + resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.19.6 + dev: true + + /@babel/plugin-proposal-logical-assignment-operators/7.18.9_@babel+core@7.19.6: + resolution: {integrity: sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.19.6 + dev: true + + /@babel/plugin-proposal-nullish-coalescing-operator/7.18.6_@babel+core@7.19.6: + resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.19.6 + dev: true + + /@babel/plugin-proposal-numeric-separator/7.18.6_@babel+core@7.19.6: + resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.19.6 + dev: true + + /@babel/plugin-proposal-object-rest-spread/7.19.4_@babel+core@7.19.6: + resolution: {integrity: sha512-wHmj6LDxVDnL+3WhXteUBaoM1aVILZODAUjg11kHqG4cOlfgMQGxw6aCgvrXrmaJR3Bn14oZhImyCPZzRpC93Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.20.1 + '@babel/core': 7.19.6 + '@babel/helper-compilation-targets': 7.20.0_@babel+core@7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.19.6 + '@babel/plugin-transform-parameters': 7.20.1_@babel+core@7.19.6 + dev: true + + /@babel/plugin-proposal-optional-catch-binding/7.18.6_@babel+core@7.19.6: + resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.19.6 + dev: true + + /@babel/plugin-proposal-optional-chaining/7.18.9_@babel+core@7.19.6: + resolution: {integrity: sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.19.6 + dev: true + + /@babel/plugin-proposal-private-methods/7.18.6_@babel+core@7.19.6: + resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-create-class-features-plugin': 7.19.0_@babel+core@7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-proposal-private-property-in-object/7.18.6_@babel+core@7.19.6: + resolution: {integrity: sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-create-class-features-plugin': 7.19.0_@babel+core@7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.19.6 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-proposal-unicode-property-regex/7.18.6_@babel+core@7.19.6: + resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} + engines: {node: '>=4'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-create-regexp-features-plugin': 7.19.0_@babel+core@7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.19.6: + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.19.6: + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-syntax-class-static-block/7.14.5_@babel+core@7.19.6: + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.19.6: + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.19.6: + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-syntax-import-assertions/7.20.0_@babel+core@7.19.6: + resolution: {integrity: sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.19.6: + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.19.6: + resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.19.6: + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.19.6: + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.19.6: + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.19.6: + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.19.6: + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.19.6: + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-syntax-private-property-in-object/7.14.5_@babel+core@7.19.6: + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.19.6: + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-syntax-typescript/7.20.0_@babel+core@7.19.6: + resolution: {integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-transform-arrow-functions/7.18.6_@babel+core@7.19.6: + resolution: {integrity: sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-transform-async-to-generator/7.18.6_@babel+core@7.19.6: + resolution: {integrity: sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-module-imports': 7.18.6 + '@babel/helper-plugin-utils': 7.19.0 + '@babel/helper-remap-async-to-generator': 7.18.9_@babel+core@7.19.6 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-block-scoped-functions/7.18.6_@babel+core@7.19.6: + resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-transform-block-scoping/7.20.0_@babel+core@7.19.6: + resolution: {integrity: sha512-sXOohbpHZSk7GjxK9b3dKB7CfqUD5DwOH+DggKzOQ7TXYP+RCSbRykfjQmn/zq+rBjycVRtLf9pYhAaEJA786w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-transform-classes/7.19.0_@babel+core@7.19.6: + resolution: {integrity: sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-compilation-targets': 7.20.0_@babel+core@7.19.6 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-function-name': 7.19.0 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/helper-plugin-utils': 7.19.0 + '@babel/helper-replace-supers': 7.19.1 + '@babel/helper-split-export-declaration': 7.18.6 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-computed-properties/7.18.9_@babel+core@7.19.6: + resolution: {integrity: sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-transform-destructuring/7.20.0_@babel+core@7.19.6: + resolution: {integrity: sha512-1dIhvZfkDVx/zn2S1aFwlruspTt4189j7fEkH0Y0VyuDM6bQt7bD6kLcz3l4IlLG+e5OReaBz9ROAbttRtUHqA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-transform-dotall-regex/7.18.6_@babel+core@7.19.6: + resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-create-regexp-features-plugin': 7.19.0_@babel+core@7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-transform-duplicate-keys/7.18.9_@babel+core@7.19.6: + resolution: {integrity: sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-transform-exponentiation-operator/7.18.6_@babel+core@7.19.6: + resolution: {integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.18.9 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-transform-for-of/7.18.8_@babel+core@7.19.6: + resolution: {integrity: sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-transform-function-name/7.18.9_@babel+core@7.19.6: + resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-compilation-targets': 7.20.0_@babel+core@7.19.6 + '@babel/helper-function-name': 7.19.0 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-transform-literals/7.18.9_@babel+core@7.19.6: + resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-transform-member-expression-literals/7.18.6_@babel+core@7.19.6: + resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-transform-modules-amd/7.19.6_@babel+core@7.19.6: + resolution: {integrity: sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-module-transforms': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-modules-commonjs/7.19.6_@babel+core@7.19.6: + resolution: {integrity: sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-module-transforms': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + '@babel/helper-simple-access': 7.19.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-modules-systemjs/7.19.6_@babel+core@7.19.6: + resolution: {integrity: sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-hoist-variables': 7.18.6 + '@babel/helper-module-transforms': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + '@babel/helper-validator-identifier': 7.19.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-modules-umd/7.18.6_@babel+core@7.19.6: + resolution: {integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-module-transforms': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-named-capturing-groups-regex/7.19.1_@babel+core@7.19.6: + resolution: {integrity: sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-create-regexp-features-plugin': 7.19.0_@babel+core@7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-transform-new-target/7.18.6_@babel+core@7.19.6: + resolution: {integrity: sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-transform-object-super/7.18.6_@babel+core@7.19.6: + resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + '@babel/helper-replace-supers': 7.19.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-parameters/7.20.1_@babel+core@7.19.6: + resolution: {integrity: sha512-nDvKLrAvl+kf6BOy1UJ3MGwzzfTMgppxwiD2Jb4LO3xjYyZq30oQzDNJbCQpMdG9+j2IXHoiMrw5Cm/L6ZoxXQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-transform-property-literals/7.18.6_@babel+core@7.19.6: + resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-transform-regenerator/7.18.6_@babel+core@7.19.6: + resolution: {integrity: sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + regenerator-transform: 0.15.0 + dev: true + + /@babel/plugin-transform-reserved-words/7.18.6_@babel+core@7.19.6: + resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-transform-shorthand-properties/7.18.6_@babel+core@7.19.6: + resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-transform-spread/7.19.0_@babel+core@7.19.6: + resolution: {integrity: sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + dev: true + + /@babel/plugin-transform-sticky-regex/7.18.6_@babel+core@7.19.6: + resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-transform-template-literals/7.18.9_@babel+core@7.19.6: + resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-transform-typeof-symbol/7.18.9_@babel+core@7.19.6: + resolution: {integrity: sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-transform-typescript/7.20.0_@babel+core@7.19.6: + resolution: {integrity: sha512-xOAsAFaun3t9hCwZ13Qe7gq423UgMZ6zAgmLxeGGapFqlT/X3L5qT2btjiVLlFn7gWtMaVyceS5VxGAuKbgizw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-create-class-features-plugin': 7.19.0_@babel+core@7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.19.6 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-unicode-escapes/7.18.10_@babel+core@7.19.6: + resolution: {integrity: sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/plugin-transform-unicode-regex/7.18.6_@babel+core@7.19.6: + resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-create-regexp-features-plugin': 7.19.0_@babel+core@7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + dev: true + + /@babel/preset-env/7.19.4_@babel+core@7.19.6: + resolution: {integrity: sha512-5QVOTXUdqTCjQuh2GGtdd7YEhoRXBMVGROAtsBeLGIbIz3obCBIfRMT1I3ZKkMgNzwkyCkftDXSSkHxnfVf4qg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.20.1 + '@babel/core': 7.19.6 + '@babel/helper-compilation-targets': 7.20.0_@babel+core@7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + '@babel/helper-validator-option': 7.18.6 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6_@babel+core@7.19.6 + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.18.9_@babel+core@7.19.6 + '@babel/plugin-proposal-async-generator-functions': 7.20.1_@babel+core@7.19.6 + '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.19.6 + '@babel/plugin-proposal-class-static-block': 7.18.6_@babel+core@7.19.6 + '@babel/plugin-proposal-dynamic-import': 7.18.6_@babel+core@7.19.6 + '@babel/plugin-proposal-export-namespace-from': 7.18.9_@babel+core@7.19.6 + '@babel/plugin-proposal-json-strings': 7.18.6_@babel+core@7.19.6 + '@babel/plugin-proposal-logical-assignment-operators': 7.18.9_@babel+core@7.19.6 + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6_@babel+core@7.19.6 + '@babel/plugin-proposal-numeric-separator': 7.18.6_@babel+core@7.19.6 + '@babel/plugin-proposal-object-rest-spread': 7.19.4_@babel+core@7.19.6 + '@babel/plugin-proposal-optional-catch-binding': 7.18.6_@babel+core@7.19.6 + '@babel/plugin-proposal-optional-chaining': 7.18.9_@babel+core@7.19.6 + '@babel/plugin-proposal-private-methods': 7.18.6_@babel+core@7.19.6 + '@babel/plugin-proposal-private-property-in-object': 7.18.6_@babel+core@7.19.6 + '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.19.6 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.19.6 + '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.19.6 + '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.19.6 + '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.19.6 + '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.19.6 + '@babel/plugin-syntax-import-assertions': 7.20.0_@babel+core@7.19.6 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.19.6 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.19.6 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.19.6 + '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.19.6 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.19.6 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.19.6 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.19.6 + '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.19.6 + '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.19.6 + '@babel/plugin-transform-arrow-functions': 7.18.6_@babel+core@7.19.6 + '@babel/plugin-transform-async-to-generator': 7.18.6_@babel+core@7.19.6 + '@babel/plugin-transform-block-scoped-functions': 7.18.6_@babel+core@7.19.6 + '@babel/plugin-transform-block-scoping': 7.20.0_@babel+core@7.19.6 + '@babel/plugin-transform-classes': 7.19.0_@babel+core@7.19.6 + '@babel/plugin-transform-computed-properties': 7.18.9_@babel+core@7.19.6 + '@babel/plugin-transform-destructuring': 7.20.0_@babel+core@7.19.6 + '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.19.6 + '@babel/plugin-transform-duplicate-keys': 7.18.9_@babel+core@7.19.6 + '@babel/plugin-transform-exponentiation-operator': 7.18.6_@babel+core@7.19.6 + '@babel/plugin-transform-for-of': 7.18.8_@babel+core@7.19.6 + '@babel/plugin-transform-function-name': 7.18.9_@babel+core@7.19.6 + '@babel/plugin-transform-literals': 7.18.9_@babel+core@7.19.6 + '@babel/plugin-transform-member-expression-literals': 7.18.6_@babel+core@7.19.6 + '@babel/plugin-transform-modules-amd': 7.19.6_@babel+core@7.19.6 + '@babel/plugin-transform-modules-commonjs': 7.19.6_@babel+core@7.19.6 + '@babel/plugin-transform-modules-systemjs': 7.19.6_@babel+core@7.19.6 + '@babel/plugin-transform-modules-umd': 7.18.6_@babel+core@7.19.6 + '@babel/plugin-transform-named-capturing-groups-regex': 7.19.1_@babel+core@7.19.6 + '@babel/plugin-transform-new-target': 7.18.6_@babel+core@7.19.6 + '@babel/plugin-transform-object-super': 7.18.6_@babel+core@7.19.6 + '@babel/plugin-transform-parameters': 7.20.1_@babel+core@7.19.6 + '@babel/plugin-transform-property-literals': 7.18.6_@babel+core@7.19.6 + '@babel/plugin-transform-regenerator': 7.18.6_@babel+core@7.19.6 + '@babel/plugin-transform-reserved-words': 7.18.6_@babel+core@7.19.6 + '@babel/plugin-transform-shorthand-properties': 7.18.6_@babel+core@7.19.6 + '@babel/plugin-transform-spread': 7.19.0_@babel+core@7.19.6 + '@babel/plugin-transform-sticky-regex': 7.18.6_@babel+core@7.19.6 + '@babel/plugin-transform-template-literals': 7.18.9_@babel+core@7.19.6 + '@babel/plugin-transform-typeof-symbol': 7.18.9_@babel+core@7.19.6 + '@babel/plugin-transform-unicode-escapes': 7.18.10_@babel+core@7.19.6 + '@babel/plugin-transform-unicode-regex': 7.18.6_@babel+core@7.19.6 + '@babel/preset-modules': 0.1.5_@babel+core@7.19.6 + '@babel/types': 7.20.0 + babel-plugin-polyfill-corejs2: 0.3.3_@babel+core@7.19.6 + babel-plugin-polyfill-corejs3: 0.6.0_@babel+core@7.19.6 + babel-plugin-polyfill-regenerator: 0.4.1_@babel+core@7.19.6 + core-js-compat: 3.26.0 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/preset-modules/0.1.5_@babel+core@7.19.6: + resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-plugin-utils': 7.19.0 + '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.19.6 + '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.19.6 + '@babel/types': 7.20.0 + esutils: 2.0.3 + dev: true + + /@babel/runtime/7.20.1: + resolution: {integrity: sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.13.10 + dev: true + + /@babel/standalone/7.20.1: + resolution: {integrity: sha512-/gWSncVyOroPfSNASCOIsR08As7UWT7bOKlTkvmprc0Q3v4s6YFxpaYP/eyAZQWbVjSnewX8bZv2In9fwXqPHQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/template/7.18.10: + resolution: {integrity: sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.18.6 + '@babel/parser': 7.20.1 + '@babel/types': 7.20.0 + dev: true + + /@babel/traverse/7.20.1: + resolution: {integrity: sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.18.6 + '@babel/generator': 7.20.1 + '@babel/helper-environment-visitor': 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.20.1 + '@babel/types': 7.20.0 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/types/7.12.1: + resolution: {integrity: sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==} + dependencies: + '@babel/helper-validator-identifier': 7.19.1 + lodash: 4.17.21 + to-fast-properties: 2.0.0 + dev: true + + /@babel/types/7.20.0: + resolution: {integrity: sha512-Jlgt3H0TajCW164wkTOTzHkZb075tMQMULzrLUoUeKmO7eFL96GgDxf7/Axhc5CAuKE3KFyVW1p6ysKsi2oXAg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.19.4 + '@babel/helper-validator-identifier': 7.19.1 + to-fast-properties: 2.0.0 + + /@docsearch/css/3.3.0: + resolution: {integrity: sha512-rODCdDtGyudLj+Va8b6w6Y85KE85bXRsps/R4Yjwt5vueXKXZQKYw0aA9knxLBT6a/bI/GMrAcmCR75KYOM6hg==} + dev: false + + /@docsearch/js/3.3.0_tbpndr44ulefs3hehwpi2mkf2y: + resolution: {integrity: sha512-oFXWRPNvPxAzBhnFJ9UCFIYZiQNc3Yrv6912nZHw/UIGxsyzKpNRZgHq8HDk1niYmOSoLKtVFcxkccpQmYGFyg==} + dependencies: + '@docsearch/react': 3.3.0_tbpndr44ulefs3hehwpi2mkf2y + preact: 10.11.2 + transitivePeerDependencies: + - '@algolia/client-search' + - '@types/react' + - react + - react-dom + dev: false + + /@docsearch/react/3.3.0_tbpndr44ulefs3hehwpi2mkf2y: + resolution: {integrity: sha512-fhS5adZkae2SSdMYEMVg6pxI5a/cE+tW16ki1V0/ur4Fdok3hBRkmN/H8VvlXnxzggkQIIRIVvYPn00JPjen3A==} + peerDependencies: + '@types/react': '>= 16.8.0 < 19.0.0' + react: '>= 16.8.0 < 19.0.0' + react-dom: '>= 16.8.0 < 19.0.0' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + react-dom: + optional: true + dependencies: + '@algolia/autocomplete-core': 1.7.2 + '@algolia/autocomplete-preset-algolia': 1.7.2_qs6lk5nhygj2o3hj4sf6xnr724 + '@docsearch/css': 3.3.0 + algoliasearch: 4.14.2 + transitivePeerDependencies: + - '@algolia/client-search' + dev: false + + /@esbuild-plugins/node-globals-polyfill/0.1.1_esbuild@0.15.13: + resolution: {integrity: sha512-MR0oAA+mlnJWrt1RQVQ+4VYuRJW/P2YmRTv1AsplObyvuBMnPHiizUF95HHYiSsMGLhyGtWufaq2XQg6+iurBg==} + peerDependencies: + esbuild: '*' + dependencies: + esbuild: 0.15.13 + dev: true + + /@esbuild-plugins/node-modules-polyfill/0.1.4_esbuild@0.15.13: + resolution: {integrity: sha512-uZbcXi0zbmKC/050p3gJnne5Qdzw8vkXIv+c2BW0Lsc1ji1SkrxbKPUy5Efr0blbTu1SL8w4eyfpnSdPg3G0Qg==} + peerDependencies: + esbuild: '*' + dependencies: + esbuild: 0.15.13 + escape-string-regexp: 4.0.0 + rollup-plugin-node-polyfills: 0.2.1 + dev: true + + /@esbuild/android-arm/0.15.13: + resolution: {integrity: sha512-RY2fVI8O0iFUNvZirXaQ1vMvK0xhCcl0gqRj74Z6yEiO1zAUa7hbsdwZM1kzqbxHK7LFyMizipfXT3JME+12Hw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/linux-loong64/0.14.54: + resolution: {integrity: sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64/0.15.13: + resolution: {integrity: sha512-+BoyIm4I8uJmH/QDIH0fu7MG0AEx9OXEDXnqptXCwKOlOqZiS4iraH1Nr7/ObLMokW3sOCeBNyD68ATcV9b9Ag==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + optional: true + + /@eslint/eslintrc/1.3.3: + resolution: {integrity: sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.4.0 + globals: 13.17.0 + ignore: 5.2.0 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@heroicons/vue/2.0.13_vue@3.2.41: + resolution: {integrity: sha512-vVCVF02+rNKXEmanVNnmktJlxCbOn0qVFP1gfZPn4bcBIwPX3h9AVHGCkwly+IWDEME8w5oooG0KRd2hhSe/HQ==} + peerDependencies: + vue: '>= 3' + dependencies: + vue: 3.2.41 + dev: false + + /@humanwhocodes/config-array/0.11.7: + resolution: {integrity: sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 1.2.1 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer/1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true + + /@humanwhocodes/object-schema/1.2.1: + resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + dev: true + + /@javascript-obfuscator/escodegen/2.3.0: + resolution: {integrity: sha512-QVXwMIKqYMl3KwtTirYIA6gOCiJ0ZDtptXqAv/8KWLG9uQU2fZqTVy7a/A5RvcoZhbDoFfveTxuGxJ5ibzQtkw==} + engines: {node: '>=6.0'} + dependencies: + '@javascript-obfuscator/estraverse': 5.4.0 + esprima: 4.0.1 + esutils: 2.0.3 + optionator: 0.8.3 + optionalDependencies: + source-map: 0.6.1 + dev: true + + /@javascript-obfuscator/estraverse/5.4.0: + resolution: {integrity: sha512-CZFX7UZVN9VopGbjTx4UXaXsi9ewoM1buL0kY7j1ftYdSs7p2spv9opxFjHlQ/QGTgh4UqufYqJJ0WKLml7b6w==} + engines: {node: '>=4.0'} + dev: true + + /@jridgewell/gen-mapping/0.1.1: + resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.14 + dev: true + + /@jridgewell/gen-mapping/0.3.2: + resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/trace-mapping': 0.3.17 + + /@jridgewell/resolve-uri/1.0.0: + resolution: {integrity: sha512-9oLAnygRMi8Q5QkYEU4XWK04B+nuoXoxjRvRxgjuChkLZFBja0YPSgdZ7dZtwhncLBcQe/I/E+fLuk5qxcYVJA==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/resolve-uri/3.1.0: + resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + engines: {node: '>=6.0.0'} + + /@jridgewell/set-array/1.1.2: + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + engines: {node: '>=6.0.0'} + + /@jridgewell/source-map/0.3.2: + resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==} + dependencies: + '@jridgewell/gen-mapping': 0.3.2 + '@jridgewell/trace-mapping': 0.3.17 + + /@jridgewell/sourcemap-codec/1.4.14: + resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + + /@jridgewell/trace-mapping/0.3.17: + resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} + dependencies: + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.14 + + /@lopatnov/rollup-plugin-uglify/2.1.5_tmhs7xnjcxrp2ultwy7bfacunu: + resolution: {integrity: sha512-Uw94Or2NKlnHJB0W6su1dwoA6uHaXCLJbnkgkYtjNUbroStygf8Y6JwoT4FKH4unnkp978a9fpmq6xFKHIjtyw==} + peerDependencies: + rollup: '>=1.0.0' + terser: '>=4.0.0' + dependencies: + '@rollup/pluginutils': 4.2.1 + core-js: 3.26.0 + rollup: 2.79.1 + terser: 5.15.1 + dev: true + + /@nodelib/fs.scandir/2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + /@nodelib/fs.stat/2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + /@nodelib/fs.walk/1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.13.0 + + /@originjs/vite-plugin-commonjs/1.0.3: + resolution: {integrity: sha512-KuEXeGPptM2lyxdIEJ4R11+5ztipHoE7hy8ClZt3PYaOVQ/pyngd2alaSrPnwyFeOW1UagRBaQ752aA1dTMdOQ==} + dependencies: + esbuild: 0.14.54 + dev: true + + /@popperjs/core/2.11.6: + resolution: {integrity: sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==} + dev: false + + /@rollup/plugin-babel/6.0.2_vyv4jbhmcriklval33ak5sngky: + resolution: {integrity: sha512-Vnt8XIWYwCf3MD7qhBWYlP9pjSZvcE++nlPXhQYw6YNehl5742AzFbrV6h4BHb20VAOVUlIksVLymQCTwVCGDg==} + engines: {node: '>=14.0.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@types/babel__core': ^7.1.9 + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + '@types/babel__core': + optional: true + rollup: + optional: true + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-module-imports': 7.18.6 + '@rollup/pluginutils': 5.0.2_rollup@2.79.1 + rollup: 2.79.1 + dev: true + + /@rollup/plugin-commonjs/22.0.2_rollup@2.79.1: + resolution: {integrity: sha512-//NdP6iIwPbMTcazYsiBMbJW7gfmpHom33u1beiIoHDEM0Q9clvtQB1T0efvMqHeKsGohiHo97BCPCkBXdscwg==} + engines: {node: '>= 12.0.0'} + peerDependencies: + rollup: ^2.68.0 + dependencies: + '@rollup/pluginutils': 3.1.0_rollup@2.79.1 + commondir: 1.0.1 + estree-walker: 2.0.2 + glob: 7.2.3 + is-reference: 1.2.1 + magic-string: 0.25.9 + resolve: 1.22.1 + rollup: 2.79.1 + dev: true + + /@rollup/plugin-inject/4.0.4_rollup@2.79.1: + resolution: {integrity: sha512-4pbcU4J/nS+zuHk+c+OL3WtmEQhqxlZ9uqfjQMQDOHOPld7PsCd8k5LWs8h5wjwJN7MgnAn768F2sDxEP4eNFQ==} + peerDependencies: + rollup: ^1.20.0 || ^2.0.0 + dependencies: + '@rollup/pluginutils': 3.1.0_rollup@2.79.1 + estree-walker: 2.0.2 + magic-string: 0.25.9 + rollup: 2.79.1 + dev: true + + /@rollup/plugin-node-resolve/13.3.0_rollup@2.79.1: + resolution: {integrity: sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==} + engines: {node: '>= 10.0.0'} + peerDependencies: + rollup: ^2.42.0 + dependencies: + '@rollup/pluginutils': 3.1.0_rollup@2.79.1 + '@types/resolve': 1.17.1 + deepmerge: 4.2.2 + is-builtin-module: 3.2.0 + is-module: 1.0.0 + resolve: 1.22.1 + rollup: 2.79.1 + dev: true + + /@rollup/plugin-terser/0.1.0_rollup@2.79.1: + resolution: {integrity: sha512-N2KK+qUfHX2hBzVzM41UWGLrEmcjVC37spC8R3c9mt3oEDFKh3N2e12/lLp9aVSt86veR0TQiCNQXrm8C6aiUQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.x || ^3.x + peerDependenciesMeta: + rollup: + optional: true + dependencies: + rollup: 2.79.1 + terser: 5.15.1 + dev: true + + /@rollup/pluginutils/3.1.0_rollup@2.79.1: + resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} + engines: {node: '>= 8.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0 + dependencies: + '@types/estree': 0.0.39 + estree-walker: 1.0.1 + picomatch: 2.3.1 + rollup: 2.79.1 + dev: true + + /@rollup/pluginutils/4.2.1: + resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} + engines: {node: '>= 8.0.0'} + dependencies: + estree-walker: 2.0.2 + picomatch: 2.3.1 + dev: true + + /@rollup/pluginutils/5.0.2_rollup@2.79.1: + resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@types/estree': 1.0.0 + estree-walker: 2.0.2 + picomatch: 2.3.1 + rollup: 2.79.1 + dev: true + + /@rushstack/eslint-patch/1.2.0: + resolution: {integrity: sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==} + dev: true + + /@sentry/core/5.30.0: + resolution: {integrity: sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==} + engines: {node: '>=6'} + dependencies: + '@sentry/hub': 5.30.0 + '@sentry/minimal': 5.30.0 + '@sentry/types': 5.30.0 + '@sentry/utils': 5.30.0 + tslib: 1.14.1 + dev: true + + /@sentry/hub/5.30.0: + resolution: {integrity: sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==} + engines: {node: '>=6'} + dependencies: + '@sentry/types': 5.30.0 + '@sentry/utils': 5.30.0 + tslib: 1.14.1 + dev: true + + /@sentry/minimal/5.30.0: + resolution: {integrity: sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==} + engines: {node: '>=6'} + dependencies: + '@sentry/hub': 5.30.0 + '@sentry/types': 5.30.0 + tslib: 1.14.1 + dev: true + + /@sentry/node/5.30.0: + resolution: {integrity: sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==} + engines: {node: '>=6'} + dependencies: + '@sentry/core': 5.30.0 + '@sentry/hub': 5.30.0 + '@sentry/tracing': 5.30.0 + '@sentry/types': 5.30.0 + '@sentry/utils': 5.30.0 + cookie: 0.4.2 + https-proxy-agent: 5.0.1 + lru_map: 0.3.3 + tslib: 1.14.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@sentry/tracing/5.30.0: + resolution: {integrity: sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==} + engines: {node: '>=6'} + dependencies: + '@sentry/hub': 5.30.0 + '@sentry/minimal': 5.30.0 + '@sentry/types': 5.30.0 + '@sentry/utils': 5.30.0 + tslib: 1.14.1 + dev: true + + /@sentry/types/5.30.0: + resolution: {integrity: sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==} + engines: {node: '>=6'} + dev: true + + /@sentry/utils/5.30.0: + resolution: {integrity: sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==} + engines: {node: '>=6'} + dependencies: + '@sentry/types': 5.30.0 + tslib: 1.14.1 + dev: true + + /@trysound/sax/0.2.0: + resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} + engines: {node: '>=10.13.0'} + dev: false + + /@types/estree/0.0.39: + resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} + dev: true + + /@types/estree/1.0.0: + resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} + dev: true + + /@types/json-schema/7.0.11: + resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} + dev: true + + /@types/minimatch/3.0.5: + resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==} + dev: true + + /@types/node-int64/0.4.29: + resolution: {integrity: sha512-rHXvenLTj/CcsmNAebaBOhxQ2MqEGl3yXZZcZ21XYR+gzGTTcpOy2N4IxpvTCz48loyQNatHvfn6GhIbbZ1R3Q==} + dependencies: + '@types/node': 16.18.3 + dev: true + + /@types/node/16.18.3: + resolution: {integrity: sha512-jh6m0QUhIRcZpNv7Z/rpN+ZWXOicUUQbSoWks7Htkbb9IjFQj4kzcX/xFCkjstCj5flMsN8FiSvt+q+Tcs4Llg==} + dev: true + + /@types/q/1.5.5: + resolution: {integrity: sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==} + dev: true + + /@types/resolve/1.17.1: + resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} + dependencies: + '@types/node': 16.18.3 + dev: true + + /@types/semver/7.3.13: + resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} + dev: true + + /@types/thrift/0.10.11: + resolution: {integrity: sha512-skAJTzEcz0RSKX/oooCz4nrLW+lgAq3Wy0imNRqwVpw2ODYKaQHg6iRA5Ig5tzvbFAWPUb9BcQWCf0Ul+IYyCw==} + dependencies: + '@types/node': 16.18.3 + '@types/node-int64': 0.4.29 + '@types/q': 1.5.5 + dev: true + + /@types/web-bluetooth/0.0.14: + resolution: {integrity: sha512-5d2RhCard1nQUC3aHcq/gHzWYO6K0WJmAbjO7mQJgCQKtZpgXxv1rOM6O/dBDhDYYVutk1sciOgNSe+5YyfM8A==} + dev: false + + /@types/web-bluetooth/0.0.16: + resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} + dev: false + + /@typescript-eslint/eslint-plugin/5.42.0_6xw5wg2354iw4zujk2f3vyfrzu: + resolution: {integrity: sha512-5TJh2AgL6+wpL8H/GTSjNb4WrjKoR2rqvFxR/DDTqYNk6uXn8BJMEcncLSpMbf/XV1aS0jAjYwn98uvVCiAywQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/parser': ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/parser': 5.42.0_wyqvi574yv7oiwfeinomdzmc3m + '@typescript-eslint/scope-manager': 5.42.0 + '@typescript-eslint/type-utils': 5.42.0_wyqvi574yv7oiwfeinomdzmc3m + '@typescript-eslint/utils': 5.42.0_wyqvi574yv7oiwfeinomdzmc3m + debug: 4.3.4 + eslint: 8.26.0 + ignore: 5.2.0 + natural-compare-lite: 1.4.0 + regexpp: 3.2.0 + semver: 7.3.8 + tsutils: 3.21.0_typescript@4.8.4 + typescript: 4.8.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser/5.42.0_wyqvi574yv7oiwfeinomdzmc3m: + resolution: {integrity: sha512-Ixh9qrOTDRctFg3yIwrLkgf33AHyEIn6lhyf5cCfwwiGtkWhNpVKlEZApi3inGQR/barWnY7qY8FbGKBO7p3JA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 5.42.0 + '@typescript-eslint/types': 5.42.0 + '@typescript-eslint/typescript-estree': 5.42.0_typescript@4.8.4 + debug: 4.3.4 + eslint: 8.26.0 + typescript: 4.8.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/scope-manager/5.42.0: + resolution: {integrity: sha512-l5/3IBHLH0Bv04y+H+zlcLiEMEMjWGaCX6WyHE5Uk2YkSGAMlgdUPsT/ywTSKgu9D1dmmKMYgYZijObfA39Wow==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.42.0 + '@typescript-eslint/visitor-keys': 5.42.0 + dev: true + + /@typescript-eslint/type-utils/5.42.0_wyqvi574yv7oiwfeinomdzmc3m: + resolution: {integrity: sha512-HW14TXC45dFVZxnVW8rnUGnvYyRC0E/vxXShFCthcC9VhVTmjqOmtqj6H5rm9Zxv+ORxKA/1aLGD7vmlLsdlOg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '*' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 5.42.0_typescript@4.8.4 + '@typescript-eslint/utils': 5.42.0_wyqvi574yv7oiwfeinomdzmc3m + debug: 4.3.4 + eslint: 8.26.0 + tsutils: 3.21.0_typescript@4.8.4 + typescript: 4.8.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/types/5.42.0: + resolution: {integrity: sha512-t4lzO9ZOAUcHY6bXQYRuu+3SSYdD9TS8ooApZft4WARt4/f2Cj/YpvbTe8A4GuhT4bNW72goDMOy7SW71mZwGw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@typescript-eslint/typescript-estree/5.42.0_typescript@4.8.4: + resolution: {integrity: sha512-2O3vSq794x3kZGtV7i4SCWZWCwjEtkWfVqX4m5fbUBomOsEOyd6OAD1qU2lbvV5S8tgy/luJnOYluNyYVeOTTg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 5.42.0 + '@typescript-eslint/visitor-keys': 5.42.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.3.8 + tsutils: 3.21.0_typescript@4.8.4 + typescript: 4.8.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils/5.42.0_wyqvi574yv7oiwfeinomdzmc3m: + resolution: {integrity: sha512-JZ++3+h1vbeG1NUECXQZE3hg0kias9kOtcQr3+JVQ3whnjvKuMyktJAAIj6743OeNPnGBmjj7KEmiDL7qsdnCQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@types/json-schema': 7.0.11 + '@types/semver': 7.3.13 + '@typescript-eslint/scope-manager': 5.42.0 + '@typescript-eslint/types': 5.42.0 + '@typescript-eslint/typescript-estree': 5.42.0_typescript@4.8.4 + eslint: 8.26.0 + eslint-scope: 5.1.1 + eslint-utils: 3.0.0_eslint@8.26.0 + semver: 7.3.8 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/visitor-keys/5.42.0: + resolution: {integrity: sha512-QHbu5Hf/2lOEOwy+IUw0GoSCuAzByTAWWrOTKzTzsotiUnWFpuKnXcAhC9YztAf2EElQ0VvIK+pHJUPkM0q7jg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.42.0 + eslint-visitor-keys: 3.3.0 + dev: true + + /@vitejs/plugin-legacy/2.3.0_terser@5.15.1+vite@3.2.2: + resolution: {integrity: sha512-Bh62i0gzQvvT8AeAAb78nOnqSYXypkRmQmOTImdPZ39meHR9e2une3AIFmVo4s1SDmcmJ6qj18Sa/lRc/14KaA==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + terser: ^5.4.0 + vite: ^3.0.0 + dependencies: + '@babel/standalone': 7.20.1 + core-js: 3.26.0 + magic-string: 0.26.7 + regenerator-runtime: 0.13.10 + systemjs: 6.13.0 + terser: 5.15.1 + vite: 3.2.2_terser@5.15.1 + dev: true + + /@vitejs/plugin-vue-jsx/2.1.0_vite@3.2.2+vue@3.2.41: + resolution: {integrity: sha512-vvL8MHKN0hUf5LE+/rCk1rduwzW6NihD6xEfM4s1gGCSWQFYd5zLdxBs++z3S7AV/ynr7Yig5Xp1Bm0wlB4IAA==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^3.0.0 + vue: ^3.0.0 + dependencies: + '@babel/core': 7.19.6 + '@babel/plugin-transform-typescript': 7.20.0_@babel+core@7.19.6 + '@vue/babel-plugin-jsx': 1.1.1_@babel+core@7.19.6 + vite: 3.2.2_terser@5.15.1 + vue: 3.2.41 + transitivePeerDependencies: + - supports-color + dev: true + + /@vitejs/plugin-vue/3.2.0_vite@3.2.2+vue@3.2.41: + resolution: {integrity: sha512-E0tnaL4fr+qkdCNxJ+Xd0yM31UwMkQje76fsDVBBUCoGOUPexu2VDUYHL8P4CwV+zMvWw6nlRw19OnRKmYAJpw==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^3.0.0 + vue: ^3.2.25 + dependencies: + vite: 3.2.2_terser@5.15.1 + vue: 3.2.41 + + /@volar/language-core/1.0.9: + resolution: {integrity: sha512-5Fty3slLet6svXiJw2YxhYeo6c7wFdtILrql5bZymYLM+HbiZtJbryW1YnUEKAP7MO9Mbeh+TNH4Z0HFxHgIqw==} + dependencies: + '@volar/source-map': 1.0.9 + '@vue/reactivity': 3.2.41 + muggle-string: 0.1.0 + dev: true + + /@volar/source-map/1.0.9: + resolution: {integrity: sha512-fazB/vy5ZEJ3yKx4fabJyGNI3CBkdLkfEIRVu6+1P3VixK0Mn+eqyUIkLBrzGYaeFM3GybhCLCvsVdNz0Fu/CQ==} + dependencies: + muggle-string: 0.1.0 + dev: true + + /@volar/typescript/1.0.9: + resolution: {integrity: sha512-dVziu+ShQUWuMukM6bvK2v2O446/gG6l1XkTh2vfkccw1IzjfbiP1TWQoNo1ipTfZOtu5YJGYAx+o5HNrGXWfQ==} + dependencies: + '@volar/language-core': 1.0.9 + dev: true + + /@volar/vue-language-core/1.0.9: + resolution: {integrity: sha512-tofNoR8ShPFenHT1YVMuvoXtXWwoQE+fiXVqSmW0dSKZqEDjWQ3YeXSd0a6aqyKaIbvR7kWWGp34WbpQlwf9Ww==} + dependencies: + '@volar/language-core': 1.0.9 + '@volar/source-map': 1.0.9 + '@vue/compiler-dom': 3.2.41 + '@vue/compiler-sfc': 3.2.41 + '@vue/reactivity': 3.2.41 + '@vue/shared': 3.2.41 + minimatch: 5.1.0 + vue-template-compiler: 2.7.13 + dev: true + + /@volar/vue-typescript/1.0.9: + resolution: {integrity: sha512-ZLe4y9YNbviACa7uAMCilzxA76gbbSlKfjspXBzk6fCobd8QCIig+VyDYcjANIlm2HhgSCX8jYTzhCKlegh4mw==} + dependencies: + '@volar/typescript': 1.0.9 + '@volar/vue-language-core': 1.0.9 + dev: true + + /@vue/babel-helper-vue-transform-on/1.0.2: + resolution: {integrity: sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==} + dev: true + + /@vue/babel-plugin-jsx/1.1.1_@babel+core@7.19.6: + resolution: {integrity: sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==} + dependencies: + '@babel/helper-module-imports': 7.18.6 + '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.19.6 + '@babel/template': 7.18.10 + '@babel/traverse': 7.20.1 + '@babel/types': 7.20.0 + '@vue/babel-helper-vue-transform-on': 1.0.2 + camelcase: 6.3.0 + html-tags: 3.2.0 + svg-tags: 1.0.0 + transitivePeerDependencies: + - '@babel/core' + - supports-color + dev: true + + /@vue/compiler-core/3.2.41: + resolution: {integrity: sha512-oA4mH6SA78DT+96/nsi4p9DX97PHcNROxs51lYk7gb9Z4BPKQ3Mh+BLn6CQZBw857Iuhu28BfMSRHAlPvD4vlw==} + dependencies: + '@babel/parser': 7.20.1 + '@vue/shared': 3.2.41 + estree-walker: 2.0.2 + source-map: 0.6.1 + + /@vue/compiler-dom/3.2.41: + resolution: {integrity: sha512-xe5TbbIsonjENxJsYRbDJvthzqxLNk+tb3d/c47zgREDa/PCp6/Y4gC/skM4H6PIuX5DAxm7fFJdbjjUH2QTMw==} + dependencies: + '@vue/compiler-core': 3.2.41 + '@vue/shared': 3.2.41 + + /@vue/compiler-sfc/3.2.41: + resolution: {integrity: sha512-+1P2m5kxOeaxVmJNXnBskAn3BenbTmbxBxWOtBq3mQTCokIreuMULFantBUclP0+KnzNCMOvcnKinqQZmiOF8w==} + dependencies: + '@babel/parser': 7.20.1 + '@vue/compiler-core': 3.2.41 + '@vue/compiler-dom': 3.2.41 + '@vue/compiler-ssr': 3.2.41 + '@vue/reactivity-transform': 3.2.41 + '@vue/shared': 3.2.41 + estree-walker: 2.0.2 + magic-string: 0.25.9 + postcss: 8.4.18 + source-map: 0.6.1 + + /@vue/compiler-ssr/3.2.41: + resolution: {integrity: sha512-Y5wPiNIiaMz/sps8+DmhaKfDm1xgj6GrH99z4gq2LQenfVQcYXmHIOBcs5qPwl7jaW3SUQWjkAPKMfQemEQZwQ==} + dependencies: + '@vue/compiler-dom': 3.2.41 + '@vue/shared': 3.2.41 + + /@vue/devtools-api/6.4.5: + resolution: {integrity: sha512-JD5fcdIuFxU4fQyXUu3w2KpAJHzTVdN+p4iOX2lMWSHMOoQdMAcpFLZzm9Z/2nmsoZ1a96QEhZ26e50xLBsgOQ==} + dev: false + + /@vue/eslint-config-prettier/7.0.0_5t6g5rrqvlktilv3n3sw5svbdi: + resolution: {integrity: sha512-/CTc6ML3Wta1tCe1gUeO0EYnVXfo3nJXsIhZ8WJr3sov+cGASr6yuiibJTL6lmIBm7GobopToOuB3B6AWyV0Iw==} + peerDependencies: + eslint: '>= 7.28.0' + prettier: '>= 2.0.0' + dependencies: + eslint: 8.26.0 + eslint-config-prettier: 8.5.0_eslint@8.26.0 + eslint-plugin-prettier: 4.2.1_aniwkeyvlpmwkidetuytnokvcm + prettier: 2.7.1 + dev: true + + /@vue/eslint-config-typescript/11.0.2_a2woajwjjwk2j4x6hcq37wa7k4: + resolution: {integrity: sha512-EiKud1NqlWmSapBFkeSrE994qpKx7/27uCGnhdqzllYDpQZroyX/O6bwjEpeuyKamvLbsGdO6PMR2faIf+zFnw==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 + eslint-plugin-vue: ^9.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/eslint-plugin': 5.42.0_6xw5wg2354iw4zujk2f3vyfrzu + '@typescript-eslint/parser': 5.42.0_wyqvi574yv7oiwfeinomdzmc3m + eslint: 8.26.0 + eslint-plugin-vue: 9.7.0_eslint@8.26.0 + typescript: 4.8.4 + vue-eslint-parser: 9.1.0_eslint@8.26.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@vue/reactivity-transform/3.2.41: + resolution: {integrity: sha512-mK5+BNMsL4hHi+IR3Ft/ho6Za+L3FA5j8WvreJ7XzHrqkPq8jtF/SMo7tuc9gHjLDwKZX1nP1JQOKo9IEAn54A==} + dependencies: + '@babel/parser': 7.20.1 + '@vue/compiler-core': 3.2.41 + '@vue/shared': 3.2.41 + estree-walker: 2.0.2 + magic-string: 0.25.9 + + /@vue/reactivity/3.2.41: + resolution: {integrity: sha512-9JvCnlj8uc5xRiQGZ28MKGjuCoPhhTwcoAdv3o31+cfGgonwdPNuvqAXLhlzu4zwqavFEG5tvaoINQEfxz+l6g==} + dependencies: + '@vue/shared': 3.2.41 + + /@vue/runtime-core/3.2.41: + resolution: {integrity: sha512-0LBBRwqnI0p4FgIkO9q2aJBBTKDSjzhnxrxHYengkAF6dMOjeAIZFDADAlcf2h3GDALWnblbeprYYpItiulSVQ==} + dependencies: + '@vue/reactivity': 3.2.41 + '@vue/shared': 3.2.41 + + /@vue/runtime-dom/3.2.41: + resolution: {integrity: sha512-U7zYuR1NVIP8BL6jmOqmapRAHovEFp7CSw4pR2FacqewXNGqZaRfHoNLQsqQvVQ8yuZNZtxSZy0FFyC70YXPpA==} + dependencies: + '@vue/runtime-core': 3.2.41 + '@vue/shared': 3.2.41 + csstype: 2.6.21 + + /@vue/server-renderer/3.2.41_vue@3.2.41: + resolution: {integrity: sha512-7YHLkfJdTlsZTV0ae5sPwl9Gn/EGr2hrlbcS/8naXm2CDpnKUwC68i1wGlrYAfIgYWL7vUZwk2GkYLQH5CvFig==} + peerDependencies: + vue: 3.2.41 + dependencies: + '@vue/compiler-ssr': 3.2.41 + '@vue/shared': 3.2.41 + vue: 3.2.41 + + /@vue/shared/3.2.41: + resolution: {integrity: sha512-W9mfWLHmJhkfAmV+7gDjcHeAWALQtgGT3JErxULl0oz6R6+3ug91I7IErs93eCFhPCZPHBs4QJS7YWEV7A3sxw==} + + /@vue/tsconfig/0.1.3_@types+node@16.18.3: + resolution: {integrity: sha512-kQVsh8yyWPvHpb8gIc9l/HIDiiVUy1amynLNpCy8p+FoCiZXCo6fQos5/097MmnNZc9AtseDsCrfkhqCrJ8Olg==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + dependencies: + '@types/node': 16.18.3 + dev: true + + /@vuedx/compiler-sfc/0.7.2: + resolution: {integrity: sha512-20u9gN1OjAWPuJcBqvF0AOvjI76Zl/s+Q50e1oQhpjIxSsHM7+wprtLV2kiyOR3b49ABszTYWeGAkPoEHAtTyw==} + dependencies: + '@vue/compiler-core': 3.2.41 + '@vuedx/shared': 0.7.5 + '@vuedx/template-ast-types': 0.7.4 + lru-cache: 6.0.0 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@vuedx/compiler-tsx/0.8.1: + resolution: {integrity: sha512-Zp6+6D/qUpblm2eNQN2jV3VsmXISIEVmgCfFloxmtEqI76LXelFm0aGwpBzCqkAOveDMW9c1H+Y99OvCuAFy9Q==} + dependencies: + '@babel/parser': 7.12.3 + '@babel/types': 7.12.1 + '@vue/compiler-core': 3.2.41 + '@vuedx/compiler-sfc': 0.7.2 + '@vuedx/shared': 0.7.5 + '@vuedx/template-ast-types': 0.7.4 + '@vuedx/transforms': 0.7.6 + magic-string: 0.26.7 + source-map: 0.6.1 + sourcemap-codec: 1.4.8 + transitivePeerDependencies: + - supports-color + dev: true + + /@vuedx/projectconfig/0.7.3: + resolution: {integrity: sha512-WZXF1Mxm2yrXbblC7R3G4u/guOyedRdrzFxBeqfOXL4rm7qp1Rcz8ivy/7dFnAgXc3fy5d8VSVAp1WAvtwvdAw==} + dependencies: + '@vuedx/shared': 0.7.5 + json5: 2.2.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@vuedx/shared/0.7.5: + resolution: {integrity: sha512-BdezMybQbHNAPAQ0fRCSSgzqUOpnK7Scf+UV7MfIIhMS77jecNlc4gXtnTfzp5GdjkcHX7U/LmG4sJiApjxxKw==} + dependencies: + '@sentry/node': 5.30.0 + sourcemap-codec: 1.4.8 + transitivePeerDependencies: + - supports-color + dev: true + + /@vuedx/template-ast-types/0.7.4: + resolution: {integrity: sha512-Vd+0Kj7H75S/2bph3WLjsEGrNX7N9pIv7IniW5noUIouc8Y5J9cpdUXG4gFh6aySkc2n0L2DadY33V8ydNA+rg==} + dependencies: + '@vue/compiler-core': 3.2.41 + dev: true + + /@vuedx/transforms/0.7.6: + resolution: {integrity: sha512-PanN3GzoiPCDnQFPfD495radHVJqTZK+OqCnw/H+iWLgyYSQ0eYD24Mtr8mnf2V7g3SZwMcpGsH14wXNYra6KQ==} + dependencies: + '@vuedx/shared': 0.7.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@vuedx/typecheck/0.7.6: + resolution: {integrity: sha512-CxuL/ghxXn/u1BGiqZ4nxLcOQkRFcGj2jNBrNunRX//4JH61ez4htQ+jEKyyybWOkXhlcW85KaZKuJsRF6st5A==} + hasBin: true + dependencies: + '@vuedx/shared': 0.7.5 + '@vuedx/typescript-plugin-vue': 0.7.6 + '@vuedx/vue-virtual-textdocument': 0.7.6 + chalk: 4.1.2 + fast-glob: 3.2.12 + minimist: 1.2.7 + resolve-from: 5.0.0 + typescript: 4.8.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@vuedx/typescript-plugin-vue/0.7.6: + resolution: {integrity: sha512-8kaobkgrxEa5ebA6CptUBQn/gqBszBYlbmN0lPM2MFVpON7mF8ovqp/8Lzgg+7im6LbQ/EeHN+XrJP2y7BuseA==} + dependencies: + '@vuedx/projectconfig': 0.7.3 + '@vuedx/shared': 0.7.5 + '@vuedx/template-ast-types': 0.7.4 + '@vuedx/vue-virtual-textdocument': 0.7.6 + inversify: 5.1.1 + json5: 2.2.1 + node-ipc: 10.1.0 + reflect-metadata: 0.1.13 + transitivePeerDependencies: + - supports-color + dev: true + + /@vuedx/vue-virtual-textdocument/0.7.6: + resolution: {integrity: sha512-atPX5dgH/iOYG8uyaKXy3ra7Lc6F73WQBIj7uAXJM39fabi83rkQXljG0qbIA1O/dePAU/Z+bbT3zUU/vza0Xw==} + dependencies: + '@vuedx/compiler-sfc': 0.7.2 + '@vuedx/compiler-tsx': 0.8.1 + '@vuedx/shared': 0.7.5 + '@vuedx/template-ast-types': 0.7.4 + '@vuedx/transforms': 0.7.6 + sourcemap-codec: 1.4.8 + vscode-languageserver-textdocument: 1.0.7 + vscode-uri: 2.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@vueuse/core/8.9.4_vue@3.2.41: + resolution: {integrity: sha512-B/Mdj9TK1peFyWaPof+Zf/mP9XuGAngaJZBwPaXBvU3aCTZlx3ltlrFFFyMV4iGBwsjSCeUCgZrtkEj9dS2Y3Q==} + peerDependencies: + '@vue/composition-api': ^1.1.0 + vue: ^2.6.0 || ^3.2.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + vue: + optional: true + dependencies: + '@types/web-bluetooth': 0.0.14 + '@vueuse/metadata': 8.9.4 + '@vueuse/shared': 8.9.4_vue@3.2.41 + vue: 3.2.41 + vue-demi: 0.13.11_vue@3.2.41 + dev: false + + /@vueuse/core/9.4.0_vue@3.2.41: + resolution: {integrity: sha512-JzgenGj1ZF2BHOen5rsFiAyyI9sXAv7aKhNLlm9b7SwYQeKTcxTWdhudonURCSP3Egl9NQaRBzes2lv/1JUt/Q==} + dependencies: + '@types/web-bluetooth': 0.0.16 + '@vueuse/metadata': 9.4.0 + '@vueuse/shared': 9.4.0_vue@3.2.41 + vue-demi: 0.13.11_vue@3.2.41 + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: false + + /@vueuse/metadata/8.9.4: + resolution: {integrity: sha512-IwSfzH80bnJMzqhaapqJl9JRIiyQU0zsRGEgnxN6jhq7992cPUJIRfV+JHRIZXjYqbwt07E1gTEp0R0zPJ1aqw==} + dev: false + + /@vueuse/metadata/9.4.0: + resolution: {integrity: sha512-7GKMdGAsJyQJl35MYOz/RDpP0FxuiZBRDSN79QIPbdqYx4Sd0sVTnIC68KJ6Oln0t0SouvSUMvRHuno216Ud2Q==} + dev: false + + /@vueuse/shared/8.9.4_vue@3.2.41: + resolution: {integrity: sha512-wt+T30c4K6dGRMVqPddexEVLa28YwxW5OFIPmzUHICjphfAuBFTTdDoyqREZNDOFJZ44ARH1WWQNCUK8koJ+Ag==} + peerDependencies: + '@vue/composition-api': ^1.1.0 + vue: ^2.6.0 || ^3.2.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + vue: + optional: true + dependencies: + vue: 3.2.41 + vue-demi: 0.13.11_vue@3.2.41 + dev: false + + /@vueuse/shared/9.4.0_vue@3.2.41: + resolution: {integrity: sha512-fTuem51KwMCnqUKkI8B57qAIMcFovtGgsCtAeqxIzH3i6nE9VYge+gVfneNHAAy7lj8twbkNfqQSygOPJTm4tQ==} + dependencies: + vue-demi: 0.13.11_vue@3.2.41 + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: false + + /acorn-jsx/5.3.2_acorn@8.8.1: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.8.1 + dev: true + + /acorn-node/1.8.2: + resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==} + dependencies: + acorn: 7.3.1 + acorn-walk: 7.1.1 + xtend: 4.0.2 + + /acorn-walk/7.1.1: + resolution: {integrity: sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ==} + engines: {node: '>=0.4.0'} + + /acorn/5.7.4: + resolution: {integrity: sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /acorn/7.3.1: + resolution: {integrity: sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==} + engines: {node: '>=0.4.0'} + hasBin: true + + /acorn/8.7.0: + resolution: {integrity: sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /acorn/8.8.1: + resolution: {integrity: sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==} + engines: {node: '>=0.4.0'} + hasBin: true + + /agent-base/6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /ajv/6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /algoliasearch/4.14.2: + resolution: {integrity: sha512-ngbEQonGEmf8dyEh5f+uOIihv4176dgbuOZspiuhmTTBRBuzWu3KCGHre6uHj5YyuC7pNvQGzB6ZNJyZi0z+Sg==} + dependencies: + '@algolia/cache-browser-local-storage': 4.14.2 + '@algolia/cache-common': 4.14.2 + '@algolia/cache-in-memory': 4.14.2 + '@algolia/client-account': 4.14.2 + '@algolia/client-analytics': 4.14.2 + '@algolia/client-common': 4.14.2 + '@algolia/client-personalization': 4.14.2 + '@algolia/client-search': 4.14.2 + '@algolia/logger-common': 4.14.2 + '@algolia/logger-console': 4.14.2 + '@algolia/requester-browser-xhr': 4.14.2 + '@algolia/requester-common': 4.14.2 + '@algolia/requester-node-http': 4.14.2 + '@algolia/transporter': 4.14.2 + dev: false + + /ansi-regex/5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-styles/3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: true + + /ansi-styles/4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /anymatch/3.1.2: + resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + /arg/5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + + /argparse/2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true + + /array-differ/3.0.0: + resolution: {integrity: sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==} + engines: {node: '>=8'} + dev: true + + /array-union/2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + dev: true + + /arrify/2.0.1: + resolution: {integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==} + engines: {node: '>=8'} + dev: true + + /asn1.js/5.4.1: + resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} + dependencies: + bn.js: 4.12.0 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + safer-buffer: 2.1.2 + + /assert/2.0.0: + resolution: {integrity: sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==} + dependencies: + es6-object-assign: 1.1.0 + is-nan: 1.3.2 + object-is: 1.1.5 + util: 0.12.5 + + /async-limiter/1.0.1: + resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} + dev: false + + /autoprefixer/10.4.13_postcss@8.4.18: + resolution: {integrity: sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + dependencies: + browserslist: 4.21.4 + caniuse-lite: 1.0.30001429 + fraction.js: 4.2.0 + normalize-range: 0.1.2 + picocolors: 1.0.0 + postcss: 8.4.18 + postcss-value-parser: 4.2.0 + dev: true + + /available-typed-arrays/1.0.5: + resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + engines: {node: '>= 0.4'} + + /babel-helper-evaluate-path/0.5.0: + resolution: {integrity: sha512-mUh0UhS607bGh5wUMAQfOpt2JX2ThXMtppHRdRU1kL7ZLRWIXxoV2UIV1r2cAeeNeU1M5SB5/RSUgUxrK8yOkA==} + dev: true + + /babel-helper-mark-eval-scopes/0.4.3: + resolution: {integrity: sha512-+d/mXPP33bhgHkdVOiPkmYoeXJ+rXRWi7OdhwpyseIqOS8CmzHQXHUp/+/Qr8baXsT0kjGpMHHofHs6C3cskdA==} + dev: true + + /babel-helper-remove-or-void/0.4.3: + resolution: {integrity: sha512-eYNceYtcGKpifHDir62gHJadVXdg9fAhuZEXiRQnJJ4Yi4oUTpqpNY//1pM4nVyjjDMPYaC2xSf0I+9IqVzwdA==} + dev: true + + /babel-plugin-minify-dead-code-elimination/0.5.2: + resolution: {integrity: sha512-krq9Lwi0QIzyAlcNBXTL4usqUvevB4BzktdEsb8srcXC1AaYqRJiAQw6vdKdJSaXbz6snBvziGr6ch/aoRCfpA==} + dependencies: + babel-helper-evaluate-path: 0.5.0 + babel-helper-mark-eval-scopes: 0.4.3 + babel-helper-remove-or-void: 0.4.3 + lodash: 4.17.21 + dev: true + + /babel-plugin-polyfill-corejs2/0.3.3_@babel+core@7.19.6: + resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.20.1 + '@babel/core': 7.19.6 + '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.19.6 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-polyfill-corejs3/0.6.0_@babel+core@7.19.6: + resolution: {integrity: sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.19.6 + core-js-compat: 3.26.0 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-polyfill-regenerator/0.4.1_@babel+core@7.19.6: + resolution: {integrity: sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.19.6 + '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.19.6 + transitivePeerDependencies: + - supports-color + dev: true + + /balanced-match/1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true + + /base64-js/1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + /binary-extensions/2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + + /bn.js/4.12.0: + resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} + + /bn.js/5.2.1: + resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} + + /body-scroll-lock/4.0.0-beta.0: + resolution: {integrity: sha512-a7tP5+0Mw3YlUJcGAKUqIBkYYGlYxk2fnCasq/FUph1hadxlTRjF+gAcZksxANnaMnALjxEddmSi/H3OR8ugcQ==} + dev: false + + /boolbase/1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + + /brace-expansion/1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /brace-expansion/2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + dev: true + + /braces/3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + + /brorand/1.1.0: + resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} + + /browser-or-node/1.3.0: + resolution: {integrity: sha512-0F2z/VSnLbmEeBcUrSuDH5l0HxTXdQQzLjkmBR4cYfvg1zJrKSlmIZFqyFR8oX0NrwPhy3c3HQ6i3OxMbew4Tg==} + dev: false + + /browser-resolve/2.0.0: + resolution: {integrity: sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==} + dependencies: + resolve: 1.22.1 + + /browserify-aes/1.2.0: + resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} + dependencies: + buffer-xor: 1.0.3 + cipher-base: 1.0.4 + create-hash: 1.2.0 + evp_bytestokey: 1.0.3 + inherits: 2.0.4 + safe-buffer: 5.1.2 + + /browserify-cipher/1.0.1: + resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==} + dependencies: + browserify-aes: 1.2.0 + browserify-des: 1.0.2 + evp_bytestokey: 1.0.3 + + /browserify-des/1.0.2: + resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==} + dependencies: + cipher-base: 1.0.4 + des.js: 1.0.1 + inherits: 2.0.4 + safe-buffer: 5.1.2 + + /browserify-rsa/4.1.0: + resolution: {integrity: sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==} + dependencies: + bn.js: 5.2.1 + randombytes: 2.1.0 + + /browserify-sign/4.2.1: + resolution: {integrity: sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==} + dependencies: + bn.js: 5.2.1 + browserify-rsa: 4.1.0 + create-hash: 1.2.0 + create-hmac: 1.1.7 + elliptic: 6.5.4 + inherits: 2.0.4 + parse-asn1: 5.1.6 + readable-stream: 3.6.0 + safe-buffer: 5.2.1 + + /browserify-zlib/0.2.0: + resolution: {integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==} + dependencies: + pako: 1.0.11 + + /browserslist/4.21.4: + resolution: {integrity: sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001429 + electron-to-chromium: 1.4.284 + node-releases: 2.0.6 + update-browserslist-db: 1.0.10_browserslist@4.21.4 + + /buffer-es6/4.9.3: + resolution: {integrity: sha512-Ibt+oXxhmeYJSsCkODPqNpPmyegefiD8rfutH1NYGhMZQhSp95Rz7haemgnJ6dxa6LT+JLLbtgOMORRluwKktw==} + dev: true + + /buffer-from/1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + /buffer-xor/1.0.3: + resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} + + /buffer/5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + /builtin-modules/3.3.0: + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} + dev: true + + /builtin-status-codes/3.0.0: + resolution: {integrity: sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==} + + /call-bind/1.0.2: + resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + dependencies: + function-bind: 1.1.1 + get-intrinsic: 1.1.3 + + /callsites/3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /camelcase-css/2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} + + /camelcase/6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + dev: true + + /caniuse-api/3.0.0: + resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} + dependencies: + browserslist: 4.21.4 + caniuse-lite: 1.0.30001429 + lodash.memoize: 4.1.2 + lodash.uniq: 4.5.0 + dev: false + + /caniuse-lite/1.0.30001429: + resolution: {integrity: sha512-511ThLu1hF+5RRRt0zYCf2U2yRr9GPF6m5y90SBCWsvSoYoW7yAGlv/elyPaNfvGCkp6kj/KFZWU0BMA69Prsg==} + + /chalk/2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true + + /chalk/4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /chance/1.1.8: + resolution: {integrity: sha512-v7fi5Hj2VbR6dJEGRWLmJBA83LJMS47pkAbmROFxHWd9qmE1esHRZW8Clf1Fhzr3rjxnNZVCjOEv/ivFxeIMtg==} + dev: true + + /char-regex/1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + dev: true + + /charenc/0.0.2: + resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==} + dev: true + + /chokidar/3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.2 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.2 + + /cipher-base/1.0.4: + resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + + /class-names/1.0.0: + resolution: {integrity: sha512-AQL0OLcu6D5hTwPcY78UgQ0JMS5cR1eYFV60C6V9WNMKVgyXi+CSGYuuWUAVo/6+Z2JRk6VBTn1XO5U94SqBww==} + dependencies: + classnames: 2.3.2 + dev: true + + /class-validator/0.13.2: + resolution: {integrity: sha512-yBUcQy07FPlGzUjoLuUfIOXzgynnQPPruyK1Ge2B74k9ROwnle1E+NxLWnUv5OLU8hA/qL5leAE9XnXq3byaBw==} + dependencies: + libphonenumber-js: 1.10.14 + validator: 13.7.0 + dev: true + + /classnames/2.3.2: + resolution: {integrity: sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==} + + /cliui/7.0.4: + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: true + + /clone-buffer/1.0.0: + resolution: {integrity: sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==} + engines: {node: '>= 0.10'} + dev: true + + /clone-stats/1.0.0: + resolution: {integrity: sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==} + dev: true + + /clone/2.1.2: + resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} + engines: {node: '>=0.8'} + dev: true + + /cloneable-readable/1.1.3: + resolution: {integrity: sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==} + dependencies: + inherits: 2.0.4 + process-nextick-args: 2.0.1 + readable-stream: 2.3.7 + dev: true + + /color-convert/1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + dev: true + + /color-convert/2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name/1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: true + + /color-name/1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + /colord/2.9.3: + resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} + dev: false + + /commander/2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + /commander/7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + dev: false + + /commander/9.0.0: + resolution: {integrity: sha512-JJfP2saEKbQqvW+FI93OYUB4ByV5cizMpFMiiJI8xDbBvQvSkIk0VvQdn1CZ8mqAO8Loq2h0gYTYtDFUZUeERw==} + engines: {node: ^12.20.0 || >=14} + dev: true + + /commondir/1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + dev: true + + /concat-map/0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true + + /console-browserify/1.2.0: + resolution: {integrity: sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==} + + /constants-browserify/1.0.0: + resolution: {integrity: sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==} + + /convert-source-map/1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + dev: true + + /cookie/0.4.2: + resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} + engines: {node: '>= 0.6'} + dev: true + + /copyfiles/2.4.1: + resolution: {integrity: sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg==} + hasBin: true + dependencies: + glob: 7.2.3 + minimatch: 3.1.2 + mkdirp: 1.0.4 + noms: 0.0.0 + through2: 2.0.5 + untildify: 4.0.0 + yargs: 16.2.0 + dev: true + + /core-js-compat/3.26.0: + resolution: {integrity: sha512-piOX9Go+Z4f9ZiBFLnZ5VrOpBl0h7IGCkiFUN11QTe6LjAvOT3ifL/5TdoizMh99hcGy5SoLyWbapIY/PIb/3A==} + dependencies: + browserslist: 4.21.4 + dev: true + + /core-js/3.26.0: + resolution: {integrity: sha512-+DkDrhoR4Y0PxDz6rurahuB+I45OsEUv8E1maPTB6OuHRohMMcznBq9TMpdpDMm/hUPob/mJJS3PqgbHpMTQgw==} + requiresBuild: true + dev: true + + /core-util-is/1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + dev: true + + /create-ecdh/4.0.4: + resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} + dependencies: + bn.js: 4.12.0 + elliptic: 6.5.4 + + /create-hash/1.2.0: + resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} + dependencies: + cipher-base: 1.0.4 + inherits: 2.0.4 + md5.js: 1.3.5 + ripemd160: 2.0.2 + sha.js: 2.4.11 + + /create-hmac/1.1.7: + resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} + dependencies: + cipher-base: 1.0.4 + create-hash: 1.2.0 + inherits: 2.0.4 + ripemd160: 2.0.2 + safe-buffer: 5.1.2 + sha.js: 2.4.11 + + /create-require/1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + + /cross-spawn/7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /crypt/0.0.2: + resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==} + dev: true + + /crypto-browserify/3.12.0: + resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==} + dependencies: + browserify-cipher: 1.0.1 + browserify-sign: 4.2.1 + create-ecdh: 4.0.4 + create-hash: 1.2.0 + create-hmac: 1.1.7 + diffie-hellman: 5.0.3 + inherits: 2.0.4 + pbkdf2: 3.1.2 + public-encrypt: 4.0.3 + randombytes: 2.1.0 + randomfill: 1.0.4 + + /css-declaration-sorter/6.3.1_postcss@8.4.18: + resolution: {integrity: sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==} + engines: {node: ^10 || ^12 || >=14} + peerDependencies: + postcss: ^8.0.9 + dependencies: + postcss: 8.4.18 + dev: false + + /css-select/4.3.0: + resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 4.3.1 + domutils: 2.8.0 + nth-check: 2.1.1 + dev: false + + /css-tree/1.1.3: + resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} + engines: {node: '>=8.0.0'} + dependencies: + mdn-data: 2.0.14 + source-map: 0.6.1 + dev: false + + /css-what/6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + dev: false + + /cssesc/3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + /cssnano-preset-default/5.2.13_postcss@8.4.18: + resolution: {integrity: sha512-PX7sQ4Pb+UtOWuz8A1d+Rbi+WimBIxJTRyBdgGp1J75VU0r/HFQeLnMYgHiCAp6AR4rqrc7Y4R+1Rjk3KJz6DQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + css-declaration-sorter: 6.3.1_postcss@8.4.18 + cssnano-utils: 3.1.0_postcss@8.4.18 + postcss: 8.4.18 + postcss-calc: 8.2.4_postcss@8.4.18 + postcss-colormin: 5.3.0_postcss@8.4.18 + postcss-convert-values: 5.1.3_postcss@8.4.18 + postcss-discard-comments: 5.1.2_postcss@8.4.18 + postcss-discard-duplicates: 5.1.0_postcss@8.4.18 + postcss-discard-empty: 5.1.1_postcss@8.4.18 + postcss-discard-overridden: 5.1.0_postcss@8.4.18 + postcss-merge-longhand: 5.1.7_postcss@8.4.18 + postcss-merge-rules: 5.1.3_postcss@8.4.18 + postcss-minify-font-values: 5.1.0_postcss@8.4.18 + postcss-minify-gradients: 5.1.1_postcss@8.4.18 + postcss-minify-params: 5.1.4_postcss@8.4.18 + postcss-minify-selectors: 5.2.1_postcss@8.4.18 + postcss-normalize-charset: 5.1.0_postcss@8.4.18 + postcss-normalize-display-values: 5.1.0_postcss@8.4.18 + postcss-normalize-positions: 5.1.1_postcss@8.4.18 + postcss-normalize-repeat-style: 5.1.1_postcss@8.4.18 + postcss-normalize-string: 5.1.0_postcss@8.4.18 + postcss-normalize-timing-functions: 5.1.0_postcss@8.4.18 + postcss-normalize-unicode: 5.1.1_postcss@8.4.18 + postcss-normalize-url: 5.1.0_postcss@8.4.18 + postcss-normalize-whitespace: 5.1.1_postcss@8.4.18 + postcss-ordered-values: 5.1.3_postcss@8.4.18 + postcss-reduce-initial: 5.1.1_postcss@8.4.18 + postcss-reduce-transforms: 5.1.0_postcss@8.4.18 + postcss-svgo: 5.1.0_postcss@8.4.18 + postcss-unique-selectors: 5.1.1_postcss@8.4.18 + dev: false + + /cssnano-utils/3.1.0_postcss@8.4.18: + resolution: {integrity: sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.18 + dev: false + + /cssnano/5.1.14_postcss@8.4.18: + resolution: {integrity: sha512-Oou7ihiTocbKqi0J1bB+TRJIQX5RMR3JghA8hcWSw9mjBLQ5Y3RWqEDoYG3sRNlAbCIXpqMoZGbq5KDR3vdzgw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + cssnano-preset-default: 5.2.13_postcss@8.4.18 + lilconfig: 2.0.6 + postcss: 8.4.18 + yaml: 1.10.2 + dev: false + + /csso/4.2.0: + resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} + engines: {node: '>=8.0.0'} + dependencies: + css-tree: 1.1.3 + dev: false + + /csstype/2.6.21: + resolution: {integrity: sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==} + + /de-indent/1.0.2: + resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} + dev: true + + /debug/4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + + /deep-is/0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true + + /deepmerge/4.2.2: + resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} + engines: {node: '>=0.10.0'} + dev: true + + /define-properties/1.1.4: + resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==} + engines: {node: '>= 0.4'} + dependencies: + has-property-descriptors: 1.0.0 + object-keys: 1.1.1 + + /defined/1.0.1: + resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==} + + /des.js/1.0.1: + resolution: {integrity: sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==} + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + + /detective/5.2.1: + resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==} + engines: {node: '>=0.8.0'} + hasBin: true + dependencies: + acorn-node: 1.8.2 + defined: 1.0.1 + minimist: 1.2.7 + + /didyoumean/1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + + /diffie-hellman/5.0.3: + resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} + dependencies: + bn.js: 4.12.0 + miller-rabin: 4.0.1 + randombytes: 2.1.0 + + /dir-glob/3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 + dev: true + + /dlv/1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + + /doctrine/3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /dom-serializer/1.4.1: + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + entities: 2.2.0 + dev: false + + /domain-browser/4.22.0: + resolution: {integrity: sha512-IGBwjF7tNk3cwypFNH/7bfzBcgSCbaMOD3GsaY1AU/JRrnHnYgEM0+9kQt52iZxjNsjBtJYtao146V+f8jFZNw==} + engines: {node: '>=10'} + + /domelementtype/2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + dev: false + + /domhandler/4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.3.0 + dev: false + + /domutils/2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + dependencies: + dom-serializer: 1.4.1 + domelementtype: 2.3.0 + domhandler: 4.3.1 + dev: false + + /easy-stack/1.0.1: + resolution: {integrity: sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w==} + engines: {node: '>=6.0.0'} + dev: true + + /electron-to-chromium/1.4.284: + resolution: {integrity: sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==} + + /elliptic/6.5.4: + resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} + dependencies: + bn.js: 4.12.0 + brorand: 1.1.0 + hash.js: 1.1.7 + hmac-drbg: 1.0.1 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + + /emoji-regex/8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: true + + /entities/2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + dev: false + + /es-module-lexer/1.1.0: + resolution: {integrity: sha512-fJg+1tiyEeS8figV+fPcPpm8WqJEflG3yPU0NOm5xMvrNkuiy7HzX/Ljng4Y0hAoiw4/3hQTCFYw+ub8+a2pRA==} + dev: true + + /es6-object-assign/1.1.0: + resolution: {integrity: sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==} + + /esbuild-android-64/0.14.54: + resolution: {integrity: sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /esbuild-android-64/0.15.13: + resolution: {integrity: sha512-yRorukXBlokwTip+Sy4MYskLhJsO0Kn0/Fj43s1krVblfwP+hMD37a4Wmg139GEsMLl+vh8WXp2mq/cTA9J97g==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + optional: true + + /esbuild-android-arm64/0.14.54: + resolution: {integrity: sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /esbuild-android-arm64/0.15.13: + resolution: {integrity: sha512-TKzyymLD6PiVeyYa4c5wdPw87BeAiTXNtK6amWUcXZxkV51gOk5u5qzmDaYSwiWeecSNHamFsaFjLoi32QR5/w==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + optional: true + + /esbuild-darwin-64/0.14.54: + resolution: {integrity: sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /esbuild-darwin-64/0.15.13: + resolution: {integrity: sha512-WAx7c2DaOS6CrRcoYCgXgkXDliLnFv3pQLV6GeW1YcGEZq2Gnl8s9Pg7ahValZkpOa0iE/ojRVQ87sbUhF1Cbg==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + optional: true + + /esbuild-darwin-arm64/0.14.54: + resolution: {integrity: sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /esbuild-darwin-arm64/0.15.13: + resolution: {integrity: sha512-U6jFsPfSSxC3V1CLiQqwvDuj3GGrtQNB3P3nNC3+q99EKf94UGpsG9l4CQ83zBs1NHrk1rtCSYT0+KfK5LsD8A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + optional: true + + /esbuild-freebsd-64/0.14.54: + resolution: {integrity: sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-freebsd-64/0.15.13: + resolution: {integrity: sha512-whItJgDiOXaDG/idy75qqevIpZjnReZkMGCgQaBWZuKHoElDJC1rh7MpoUgupMcdfOd+PgdEwNQW9DAE6i8wyA==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + optional: true + + /esbuild-freebsd-arm64/0.14.54: + resolution: {integrity: sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-freebsd-arm64/0.15.13: + resolution: {integrity: sha512-6pCSWt8mLUbPtygv7cufV0sZLeylaMwS5Fznj6Rsx9G2AJJsAjQ9ifA+0rQEIg7DwJmi9it+WjzNTEAzzdoM3Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + optional: true + + /esbuild-linux-32/0.14.54: + resolution: {integrity: sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-32/0.15.13: + resolution: {integrity: sha512-VbZdWOEdrJiYApm2kkxoTOgsoCO1krBZ3quHdYk3g3ivWaMwNIVPIfEE0f0XQQ0u5pJtBsnk2/7OPiCFIPOe/w==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + optional: true + + /esbuild-linux-64/0.14.54: + resolution: {integrity: sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-64/0.15.13: + resolution: {integrity: sha512-rXmnArVNio6yANSqDQlIO4WiP+Cv7+9EuAHNnag7rByAqFVuRusLbGi2697A5dFPNXoO//IiogVwi3AdcfPC6A==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + + /esbuild-linux-arm/0.14.54: + resolution: {integrity: sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-arm/0.15.13: + resolution: {integrity: sha512-Ac6LpfmJO8WhCMQmO253xX2IU2B3wPDbl4IvR0hnqcPrdfCaUa2j/lLMGTjmQ4W5JsJIdHEdW12dG8lFS0MbxQ==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + optional: true + + /esbuild-linux-arm64/0.14.54: + resolution: {integrity: sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-arm64/0.15.13: + resolution: {integrity: sha512-alEMGU4Z+d17U7KQQw2IV8tQycO6T+rOrgW8OS22Ua25x6kHxoG6Ngry6Aq6uranC+pNWNMB6aHFPh7aTQdORQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + + /esbuild-linux-mips64le/0.14.54: + resolution: {integrity: sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-mips64le/0.15.13: + resolution: {integrity: sha512-47PgmyYEu+yN5rD/MbwS6DxP2FSGPo4Uxg5LwIdxTiyGC2XKwHhHyW7YYEDlSuXLQXEdTO7mYe8zQ74czP7W8A==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + optional: true + + /esbuild-linux-ppc64le/0.14.54: + resolution: {integrity: sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-ppc64le/0.15.13: + resolution: {integrity: sha512-z6n28h2+PC1Ayle9DjKoBRcx/4cxHoOa2e689e2aDJSaKug3jXcQw7mM+GLg+9ydYoNzj8QxNL8ihOv/OnezhA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + optional: true + + /esbuild-linux-riscv64/0.14.54: + resolution: {integrity: sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-riscv64/0.15.13: + resolution: {integrity: sha512-+Lu4zuuXuQhgLUGyZloWCqTslcCAjMZH1k3Xc9MSEJEpEFdpsSU0sRDXAnk18FKOfEjhu4YMGaykx9xjtpA6ow==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + optional: true + + /esbuild-linux-s390x/0.14.54: + resolution: {integrity: sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-s390x/0.15.13: + resolution: {integrity: sha512-BMeXRljruf7J0TMxD5CIXS65y7puiZkAh+s4XFV9qy16SxOuMhxhVIXYLnbdfLrsYGFzx7U9mcdpFWkkvy/Uag==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + optional: true + + /esbuild-netbsd-64/0.14.54: + resolution: {integrity: sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-netbsd-64/0.15.13: + resolution: {integrity: sha512-EHj9QZOTel581JPj7UO3xYbltFTYnHy+SIqJVq6yd3KkCrsHRbapiPb0Lx3EOOtybBEE9EyqbmfW1NlSDsSzvQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + optional: true + + /esbuild-openbsd-64/0.14.54: + resolution: {integrity: sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-openbsd-64/0.15.13: + resolution: {integrity: sha512-nkuDlIjF/sfUhfx8SKq0+U+Fgx5K9JcPq1mUodnxI0x4kBdCv46rOGWbuJ6eof2n3wdoCLccOoJAbg9ba/bT2w==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + optional: true + + /esbuild-sunos-64/0.14.54: + resolution: {integrity: sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /esbuild-sunos-64/0.15.13: + resolution: {integrity: sha512-jVeu2GfxZQ++6lRdY43CS0Tm/r4WuQQ0Pdsrxbw+aOrHQPHV0+LNOLnvbN28M7BSUGnJnHkHm2HozGgNGyeIRw==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + optional: true + + /esbuild-windows-32/0.14.54: + resolution: {integrity: sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-32/0.15.13: + resolution: {integrity: sha512-XoF2iBf0wnqo16SDq+aDGi/+QbaLFpkiRarPVssMh9KYbFNCqPLlGAWwDvxEVz+ywX6Si37J2AKm+AXq1kC0JA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + optional: true + + /esbuild-windows-64/0.14.54: + resolution: {integrity: sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-64/0.15.13: + resolution: {integrity: sha512-Et6htEfGycjDrtqb2ng6nT+baesZPYQIW+HUEHK4D1ncggNrDNk3yoboYQ5KtiVrw/JaDMNttz8rrPubV/fvPQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + optional: true + + /esbuild-windows-arm64/0.14.54: + resolution: {integrity: sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-arm64/0.15.13: + resolution: {integrity: sha512-3bv7tqntThQC9SWLRouMDmZnlOukBhOCTlkzNqzGCmrkCJI7io5LLjwJBOVY6kOUlIvdxbooNZwjtBvj+7uuVg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + optional: true + + /esbuild/0.14.54: + resolution: {integrity: sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/linux-loong64': 0.14.54 + esbuild-android-64: 0.14.54 + esbuild-android-arm64: 0.14.54 + esbuild-darwin-64: 0.14.54 + esbuild-darwin-arm64: 0.14.54 + esbuild-freebsd-64: 0.14.54 + esbuild-freebsd-arm64: 0.14.54 + esbuild-linux-32: 0.14.54 + esbuild-linux-64: 0.14.54 + esbuild-linux-arm: 0.14.54 + esbuild-linux-arm64: 0.14.54 + esbuild-linux-mips64le: 0.14.54 + esbuild-linux-ppc64le: 0.14.54 + esbuild-linux-riscv64: 0.14.54 + esbuild-linux-s390x: 0.14.54 + esbuild-netbsd-64: 0.14.54 + esbuild-openbsd-64: 0.14.54 + esbuild-sunos-64: 0.14.54 + esbuild-windows-32: 0.14.54 + esbuild-windows-64: 0.14.54 + esbuild-windows-arm64: 0.14.54 + dev: true + + /esbuild/0.15.13: + resolution: {integrity: sha512-Cu3SC84oyzzhrK/YyN4iEVy2jZu5t2fz66HEOShHURcjSkOSAVL8C/gfUT+lDJxkVHpg8GZ10DD0rMHRPqMFaQ==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.15.13 + '@esbuild/linux-loong64': 0.15.13 + esbuild-android-64: 0.15.13 + esbuild-android-arm64: 0.15.13 + esbuild-darwin-64: 0.15.13 + esbuild-darwin-arm64: 0.15.13 + esbuild-freebsd-64: 0.15.13 + esbuild-freebsd-arm64: 0.15.13 + esbuild-linux-32: 0.15.13 + esbuild-linux-64: 0.15.13 + esbuild-linux-arm: 0.15.13 + esbuild-linux-arm64: 0.15.13 + esbuild-linux-mips64le: 0.15.13 + esbuild-linux-ppc64le: 0.15.13 + esbuild-linux-riscv64: 0.15.13 + esbuild-linux-s390x: 0.15.13 + esbuild-netbsd-64: 0.15.13 + esbuild-openbsd-64: 0.15.13 + esbuild-sunos-64: 0.15.13 + esbuild-windows-32: 0.15.13 + esbuild-windows-64: 0.15.13 + esbuild-windows-arm64: 0.15.13 + + /escalade/3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + + /escape-string-regexp/1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: true + + /escape-string-regexp/4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: true + + /eslint-config-prettier/8.5.0_eslint@8.26.0: + resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + dependencies: + eslint: 8.26.0 + dev: true + + /eslint-plugin-prettier/4.2.1_aniwkeyvlpmwkidetuytnokvcm: + resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} + engines: {node: '>=12.0.0'} + peerDependencies: + eslint: '>=7.28.0' + eslint-config-prettier: '*' + prettier: '>=2.0.0' + peerDependenciesMeta: + eslint-config-prettier: + optional: true + dependencies: + eslint: 8.26.0 + eslint-config-prettier: 8.5.0_eslint@8.26.0 + prettier: 2.7.1 + prettier-linter-helpers: 1.0.0 + dev: true + + /eslint-plugin-vue/9.7.0_eslint@8.26.0: + resolution: {integrity: sha512-DrOO3WZCZEwcLsnd3ohFwqCoipGRSTKTBTnLwdhqAbYZtzWl0o7D+D8ZhlmiZvABKTEl8AFsqH1GHGdybyoQmw==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 + dependencies: + eslint: 8.26.0 + eslint-utils: 3.0.0_eslint@8.26.0 + natural-compare: 1.4.0 + nth-check: 2.1.1 + postcss-selector-parser: 6.0.10 + semver: 7.3.8 + vue-eslint-parser: 9.1.0_eslint@8.26.0 + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-scope/5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + dev: true + + /eslint-scope/7.1.0: + resolution: {integrity: sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + + /eslint-scope/7.1.1: + resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + + /eslint-utils/3.0.0_eslint@8.26.0: + resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} + engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} + peerDependencies: + eslint: '>=5' + dependencies: + eslint: 8.26.0 + eslint-visitor-keys: 2.1.0 + dev: true + + /eslint-visitor-keys/2.1.0: + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} + engines: {node: '>=10'} + dev: true + + /eslint-visitor-keys/3.2.0: + resolution: {integrity: sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint-visitor-keys/3.3.0: + resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint/8.26.0: + resolution: {integrity: sha512-kzJkpaw1Bfwheq4VXUezFriD1GxszX6dUekM7Z3aC2o4hju+tsR/XyTC3RcoSD7jmy9VkPU3+N6YjVU2e96Oyg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint/eslintrc': 1.3.3 + '@humanwhocodes/config-array': 0.11.7 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.1.1 + eslint-utils: 3.0.0_eslint@8.26.0 + eslint-visitor-keys: 3.3.0 + espree: 9.4.0 + esquery: 1.4.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.17.0 + grapheme-splitter: 1.0.4 + ignore: 5.2.0 + import-fresh: 3.3.0 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-sdsl: 4.1.5 + 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.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + dev: true + + /espree/9.4.0: + resolution: {integrity: sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.8.1 + acorn-jsx: 5.3.2_acorn@8.8.1 + eslint-visitor-keys: 3.3.0 + dev: true + + /esprima/4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /esquery/1.4.0: + resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: true + + /esrecurse/4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse/4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + dev: true + + /estraverse/5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true + + /estree-walker/0.5.2: + resolution: {integrity: sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig==} + dev: true + + /estree-walker/0.6.1: + resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} + dev: true + + /estree-walker/1.0.1: + resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} + dev: true + + /estree-walker/2.0.1: + resolution: {integrity: sha512-tF0hv+Yi2Ot1cwj9eYHtxC0jB9bmjacjQs6ZBTj82H8JwUywFuc+7E83NWfNMwHXZc11mjfFcVXPe9gEP4B8dg==} + dev: true + + /estree-walker/2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + /esutils/2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true + + /event-pubsub/5.0.3: + resolution: {integrity: sha512-2QiHxshejKgJrYMzSI9MEHrvhmzxBL+eLyiM5IiyjDBySkgwS2+tdtnO3gbx8pEisu/yOFCIhfCb63gCEu0yBQ==} + engines: {node: '>=13.0.0'} + dependencies: + copyfiles: 2.4.1 + strong-type: 0.1.6 + dev: true + + /events/3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + + /evp_bytestokey/1.0.3: + resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} + dependencies: + md5.js: 1.3.5 + safe-buffer: 5.1.2 + + /fast-deep-equal/3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + dev: true + + /fast-diff/1.2.0: + resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} + dev: true + + /fast-glob/3.2.12: + resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + + /fast-json-stable-stringify/2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fast-levenshtein/2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: true + + /fastq/1.13.0: + resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} + dependencies: + reusify: 1.0.4 + + /file-entry-cache/6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.0.4 + dev: true + + /fill-range/7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + + /find-up/5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + /flat-cache/3.0.4: + resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flatted: 3.2.7 + rimraf: 3.0.2 + dev: true + + /flatted/3.2.7: + resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} + dev: true + + /flowbite-vue/0.0.6_vyk56yvshhckmgqssku7qaflqi: + resolution: {integrity: sha512-E9EcTyJnvxF991JMjBFjE0FEOTyQTR6gwGemV5ixuT+bgiMASBG2sv2Jfk5IS2C96VpxA6K0SHIdiKGOICSsAw==} + peerDependencies: + tailwindcss: ^3 + vue: ^3 + dependencies: + '@vueuse/core': 8.9.4_vue@3.2.41 + tailwindcss: 3.2.2_postcss@8.4.18 + vitepress: 1.0.0-alpha.27_7bzztktfx4ksi72cjsd4rjugn4 + vue: 3.2.41 + transitivePeerDependencies: + - '@algolia/client-search' + - '@types/react' + - '@vue/composition-api' + - less + - react + - react-dom + - sass + - stylus + - sugarss + - terser + dev: false + + /flowbite/1.5.0: + resolution: {integrity: sha512-QFMKeo9+kUcCSknwAWfcwgi7Mwn+19LbamkizNdbR9d41pnlRjMZA/dOPioZqsU8m1fyfnw6lZDQAV0cO8UePQ==} + dependencies: + '@popperjs/core': 2.11.6 + mini-svg-data-uri: 1.4.4 + dev: false + + /for-each/0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + dependencies: + is-callable: 1.2.7 + + /fraction.js/4.2.0: + resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} + dev: true + + /fs.realpath/1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true + + /fsevents/2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + + /function-bind/1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + + /gensync/1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + dev: true + + /get-caller-file/2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + dev: true + + /get-intrinsic/1.1.3: + resolution: {integrity: sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==} + dependencies: + function-bind: 1.1.1 + has: 1.0.3 + has-symbols: 1.0.3 + + /glob-parent/5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + + /glob-parent/6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + + /glob/7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /globals/11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + dev: true + + /globals/13.17.0: + resolution: {integrity: sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + + /globby/11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.2.12 + ignore: 5.2.0 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + + /google-closure-compiler-java/20210808.0.0: + resolution: {integrity: sha512-7dEQfBzOdwdjwa/Pq8VAypNBKyWRrOcKjnNYOO9gEg2hjh8XVMeQzTqw4uANfVvvANGdE/JjD+HF6zHVgLRwjg==} + dev: true + + /google-closure-compiler-linux/20210808.0.0: + resolution: {integrity: sha512-byKi5ITUiWRvEIcQo76i1siVnOwrTmG+GNcBG4cJ7x8IE6+4ki9rG5pUe4+DOYHkfk52XU6XHt9aAAgCcFDKpg==} + cpu: [x64, x86] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /google-closure-compiler-osx/20210808.0.0: + resolution: {integrity: sha512-iwyAY6dGj1FrrBdmfwKXkjtTGJnqe8F+9WZbfXxiBjkWLtIsJt2dD1+q7g/sw3w8mdHrGQAdxtDZP/usMwj/Rg==} + cpu: [x64, x86, arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /google-closure-compiler-windows/20210808.0.0: + resolution: {integrity: sha512-VI+UUYwtGWDYwpiixrWRD8EklHgl6PMbiEaHxQSrQbH8PDXytwaOKqmsaH2lWYd5Y/BOZie2MzjY7F5JI69q1w==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /google-closure-compiler/20210808.0.0: + resolution: {integrity: sha512-+R2+P1tT1lEnDDGk8b+WXfyVZgWjcCK9n1mmZe8pMEzPaPWxqK7GMetLVWnqfTDJ5Q+LRspOiFBv3Is+0yuhCA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + chalk: 2.4.2 + google-closure-compiler-java: 20210808.0.0 + minimist: 1.2.7 + vinyl: 2.2.1 + vinyl-sourcemaps-apply: 0.2.1 + optionalDependencies: + google-closure-compiler-linux: 20210808.0.0 + google-closure-compiler-osx: 20210808.0.0 + google-closure-compiler-windows: 20210808.0.0 + dev: true + + /gopd/1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + dependencies: + get-intrinsic: 1.1.3 + + /grapheme-splitter/1.0.4: + resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + dev: true + + /has-flag/3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + dev: true + + /has-flag/4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /has-property-descriptors/1.0.0: + resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} + dependencies: + get-intrinsic: 1.1.3 + + /has-symbols/1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + + /has-tostringtag/1.0.0: + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + + /has/1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} + dependencies: + function-bind: 1.1.1 + + /hash-base/3.1.0: + resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} + engines: {node: '>=4'} + dependencies: + inherits: 2.0.4 + readable-stream: 3.6.0 + safe-buffer: 5.2.1 + + /hash.js/1.1.7: + resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + + /he/1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + dev: true + + /hmac-drbg/1.0.1: + resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} + dependencies: + hash.js: 1.1.7 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + + /html-tags/3.2.0: + resolution: {integrity: sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==} + engines: {node: '>=8'} + dev: true + + /https-browserify/1.0.0: + resolution: {integrity: sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==} + + /https-proxy-agent/5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + dependencies: + agent-base: 6.0.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /ieee754/1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + /ignore/5.2.0: + resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} + engines: {node: '>= 4'} + dev: true + + /import-fresh/3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /imurmurhash/0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: true + + /inflight/1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits/2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + /inversify/5.1.1: + resolution: {integrity: sha512-j8grHGDzv1v+8T1sAQ+3boTCntFPfvxLCkNcxB1J8qA0lUN+fAlSyYd+RXKvaPRL4AGyPxViutBEJHNXOyUdFQ==} + dev: true + + /inversify/6.0.1: + resolution: {integrity: sha512-B3ex30927698TJENHR++8FfEaJGqoWOgI6ZY5Ht/nLUsFCwHn6akbwtnUAPCgUepAnTpe2qHxhDNjoKLyz6rgQ==} + dev: true + + /is-arguments/1.1.1: + resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + has-tostringtag: 1.0.0 + + /is-binary-path/2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + + /is-buffer/1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + dev: true + + /is-builtin-module/3.2.0: + resolution: {integrity: sha512-phDA4oSGt7vl1n5tJvTWooWWAsXLY+2xCnxNqvKhGEzujg+A43wPlPOyDg3C8XQHN+6k/JTQWJ/j0dQh/qr+Hw==} + engines: {node: '>=6'} + dependencies: + builtin-modules: 3.3.0 + dev: true + + /is-callable/1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + /is-core-module/2.11.0: + resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} + dependencies: + has: 1.0.3 + + /is-extglob/2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + /is-fullwidth-code-point/3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + dev: true + + /is-generator-function/1.0.10: + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + + /is-glob/4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + + /is-module/1.0.0: + resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} + dev: true + + /is-nan/1.3.2: + resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.4 + + /is-number/7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + /is-path-inside/3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true + + /is-reference/1.2.1: + resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} + dependencies: + '@types/estree': 1.0.0 + dev: true + + /is-typed-array/1.1.10: + resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 + + /isarray/0.0.1: + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + dev: true + + /isarray/1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + dev: true + + /isexe/2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true + + /isomorphic-timers-promises/1.0.1: + resolution: {integrity: sha512-u4sej9B1LPSxTGKB/HiuzvEQnXH0ECYkSVQU39koSwmFAxhlEAFl9RdTvLv4TOTQUgBS5O3O5fwUxk6byBZ+IQ==} + engines: {node: '>=10'} + + /isomorphic-ws/4.0.1_ws@5.2.3: + resolution: {integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==} + peerDependencies: + ws: '*' + dependencies: + ws: 5.2.3 + dev: false + + /javascript-obfuscator/4.0.0: + resolution: {integrity: sha512-vS/8w/9eKISzwXNLd+OLMCCwjD+dFMdOlCDOo919iR/MWdBs+7u1ybpwRoWOmODToPQKVYw5GasvZoIiPs5nPw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + requiresBuild: true + dependencies: + '@javascript-obfuscator/escodegen': 2.3.0 + '@javascript-obfuscator/estraverse': 5.4.0 + acorn: 8.7.0 + assert: 2.0.0 + chalk: 4.1.2 + chance: 1.1.8 + class-validator: 0.13.2 + commander: 9.0.0 + eslint-scope: 7.1.0 + eslint-visitor-keys: 3.2.0 + fast-deep-equal: 3.1.3 + inversify: 6.0.1 + js-string-escape: 1.0.1 + md5: 2.3.0 + mkdirp: 1.0.4 + multimatch: 5.0.0 + opencollective-postinstall: 2.0.3 + process: 0.11.10 + reflect-metadata: 0.1.13 + source-map-support: 0.5.21 + string-template: 1.0.0 + stringz: 2.1.0 + tslib: 2.3.1 + dev: true + + /js-message/1.0.7: + resolution: {integrity: sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA==} + engines: {node: '>=0.6.0'} + dev: true + + /js-queue/2.0.2: + resolution: {integrity: sha512-pbKLsbCfi7kriM3s1J4DDCo7jQkI58zPLHi0heXPzPlj0hjUsm+FesPUbE0DSbIVIK503A36aUBoCN7eMFedkA==} + engines: {node: '>=1.0.0'} + dependencies: + easy-stack: 1.0.1 + dev: true + + /js-sdsl/4.1.5: + resolution: {integrity: sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==} + dev: true + + /js-string-escape/1.0.1: + resolution: {integrity: sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==} + engines: {node: '>= 0.8'} + dev: true + + /js-tokens/4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: true + + /js-yaml/4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /jsesc/0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + dev: true + + /jsesc/2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /json-schema-traverse/0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true + + /json-stable-stringify-without-jsonify/1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: true + + /json5/2.2.1: + resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==} + engines: {node: '>=6'} + hasBin: true + dev: true + + /jsonc-parser/3.2.0: + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + dev: false + + /levn/0.3.0: + resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.1.2 + type-check: 0.3.2 + dev: true + + /levn/0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /libphonenumber-js/1.10.14: + resolution: {integrity: sha512-McGS7GV/WjJ2KjfOGhJU1oJn29RYeo7Q+RpANRbUNMQ9gj5XArpbjurSuyYPTejFwbaUojstQ4XyWCrAzGOUXw==} + dev: true + + /lilconfig/2.0.6: + resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==} + engines: {node: '>=10'} + + /locate-path/6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + + /lodash.debounce/4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + dev: true + + /lodash.memoize/4.1.2: + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + dev: false + + /lodash.merge/4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true + + /lodash.uniq/4.5.0: + resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} + dev: false + + /lodash/4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + dev: true + + /lru-cache/6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + dev: true + + /lru_map/0.3.3: + resolution: {integrity: sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==} + dev: true + + /magic-string/0.22.5: + resolution: {integrity: sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==} + dependencies: + vlq: 0.2.3 + dev: true + + /magic-string/0.25.7: + resolution: {integrity: sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==} + dependencies: + sourcemap-codec: 1.4.8 + dev: true + + /magic-string/0.25.9: + resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} + dependencies: + sourcemap-codec: 1.4.8 + + /magic-string/0.26.7: + resolution: {integrity: sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==} + engines: {node: '>=12'} + dependencies: + sourcemap-codec: 1.4.8 + dev: true + + /md5.js/1.3.5: + resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} + dependencies: + hash-base: 3.1.0 + inherits: 2.0.4 + safe-buffer: 5.2.1 + + /md5/2.3.0: + resolution: {integrity: sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==} + dependencies: + charenc: 0.0.2 + crypt: 0.0.2 + is-buffer: 1.1.6 + dev: true + + /mdn-data/2.0.14: + resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} + dev: false + + /merge2/1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + /micromatch/4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + + /miller-rabin/4.0.1: + resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} + hasBin: true + dependencies: + bn.js: 4.12.0 + brorand: 1.1.0 + + /mini-svg-data-uri/1.4.4: + resolution: {integrity: sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==} + hasBin: true + dev: false + + /minimalistic-assert/1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + + /minimalistic-crypto-utils/1.0.1: + resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} + + /minimatch/3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimatch/5.1.0: + resolution: {integrity: sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimist/1.2.7: + resolution: {integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==} + + /mkdirp/1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + dev: true + + /ms/2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: true + + /muggle-string/0.1.0: + resolution: {integrity: sha512-Tr1knR3d2mKvvWthlk7202rywKbiOm4rVFLsfAaSIhJ6dt9o47W4S+JMtWhd/PW9Wrdew2/S2fSvhz3E2gkfEg==} + dev: true + + /multimatch/5.0.0: + resolution: {integrity: sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==} + engines: {node: '>=10'} + dependencies: + '@types/minimatch': 3.0.5 + array-differ: 3.0.0 + array-union: 2.1.0 + arrify: 2.0.1 + minimatch: 3.1.2 + dev: true + + /nanoid/3.3.4: + resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + /natural-compare-lite/1.4.0: + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} + dev: true + + /natural-compare/1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true + + /node-int64/0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + + /node-ipc/10.1.0: + resolution: {integrity: sha512-JBHRlMU8xAoo1kPtcvlBAa/6OBi/FUZoO/NbZf63q5Fe8q2aDhVJFryBFSq5T3E7EM13NnAUyEYk1b0IF6QV3Q==} + engines: {node: '>=14'} + dependencies: + event-pubsub: 5.0.3 + js-message: 1.0.7 + js-queue: 2.0.2 + strong-type: 1.1.0 + dev: true + + /node-releases/2.0.6: + resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==} + + /node-stdlib-browser/1.2.0: + resolution: {integrity: sha512-VSjFxUhRhkyed8AtLwSCkMrJRfQ3e2lGtG3sP6FEgaLKBBbxM/dLfjRe1+iLhjvyLFW3tBQ8+c0pcOtXGbAZJg==} + engines: {node: '>=10'} + dependencies: + assert: 2.0.0 + browser-resolve: 2.0.0 + browserify-zlib: 0.2.0 + buffer: 5.7.1 + console-browserify: 1.2.0 + constants-browserify: 1.0.0 + create-require: 1.1.1 + crypto-browserify: 3.12.0 + domain-browser: 4.22.0 + events: 3.3.0 + https-browserify: 1.0.0 + isomorphic-timers-promises: 1.0.1 + os-browserify: 0.3.0 + path-browserify: 1.0.1 + pkg-dir: 5.0.0 + process: 0.11.10 + punycode: 1.4.1 + querystring-es3: 0.2.1 + readable-stream: 3.6.0 + stream-browserify: 3.0.0 + stream-http: 3.2.0 + string_decoder: 1.1.1 + timers-browserify: 2.0.12 + tty-browserify: 0.0.1 + url: 0.11.0 + util: 0.12.5 + vm-browserify: 1.1.2 + + /noms/0.0.0: + resolution: {integrity: sha512-lNDU9VJaOPxUmXcLb+HQFeUgQQPtMI24Gt6hgfuMHRJgMRHMF/qZ4HJD3GDru4sSw9IQl2jPjAYnQrdIeLbwow==} + dependencies: + inherits: 2.0.4 + readable-stream: 1.0.34 + dev: true + + /normalize-path/3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + /normalize-range/0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + dev: true + + /normalize-url/6.1.0: + resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} + engines: {node: '>=10'} + dev: false + + /nth-check/2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + dependencies: + boolbase: 1.0.0 + + /object-hash/3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + + /object-is/1.1.5: + resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.4 + + /object-keys/1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + /once/1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + dev: true + + /opencollective-postinstall/2.0.3: + resolution: {integrity: sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==} + hasBin: true + dev: true + + /optionator/0.8.3: + resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} + engines: {node: '>= 0.8.0'} + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.3.0 + prelude-ls: 1.1.2 + type-check: 0.3.2 + word-wrap: 1.2.3 + dev: true + + /optionator/0.9.1: + resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} + engines: {node: '>= 0.8.0'} + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.3 + dev: true + + /os-browserify/0.3.0: + resolution: {integrity: sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==} + + /p-limit/3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + + /p-locate/5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + + /pako/1.0.11: + resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} + + /parent-module/1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + dev: true + + /parse-asn1/5.1.6: + resolution: {integrity: sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==} + dependencies: + asn1.js: 5.4.1 + browserify-aes: 1.2.0 + evp_bytestokey: 1.0.3 + pbkdf2: 3.1.2 + safe-buffer: 5.2.1 + + /path-browserify/1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + + /path-exists/4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + /path-is-absolute/1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: true + + /path-key/3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-parse/1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + /path-type/4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + dev: true + + /pbkdf2/3.1.2: + resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} + engines: {node: '>=0.12'} + dependencies: + create-hash: 1.2.0 + create-hmac: 1.1.7 + ripemd160: 2.0.2 + safe-buffer: 5.1.2 + sha.js: 2.4.11 + + /perfect-scrollbar/1.5.5: + resolution: {integrity: sha512-dzalfutyP3e/FOpdlhVryN4AJ5XDVauVWxybSkLZmakFE2sS3y3pc4JnSprw8tGmHvkaG5Edr5T7LBTZ+WWU2g==} + dev: false + + /picocolors/0.2.1: + resolution: {integrity: sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==} + dev: false + + /picocolors/1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + + /picomatch/2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + /pify/2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + + /pinia/2.0.23_l7r24p6nevbtlimqmqcwa3ouhu: + resolution: {integrity: sha512-N15hFf4o5STrxpNrib1IEb1GOArvPYf1zPvQVRGOO1G1d74Ak0J0lVyalX/SmrzdT4Q0nlEFjbURsmBmIGUR5Q==} + peerDependencies: + '@vue/composition-api': ^1.4.0 + typescript: '>=4.4.4' + vue: ^2.6.14 || ^3.2.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + typescript: + optional: true + dependencies: + '@vue/devtools-api': 6.4.5 + typescript: 4.8.4 + vue: 3.2.41 + vue-demi: 0.13.11_vue@3.2.41 + dev: false + + /pkg-dir/5.0.0: + resolution: {integrity: sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==} + engines: {node: '>=10'} + dependencies: + find-up: 5.0.0 + + /postcss-calc/8.2.4_postcss@8.4.18: + resolution: {integrity: sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==} + peerDependencies: + postcss: ^8.2.2 + dependencies: + postcss: 8.4.18 + postcss-selector-parser: 6.0.10 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-colormin/5.3.0_postcss@8.4.18: + resolution: {integrity: sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.21.4 + caniuse-api: 3.0.0 + colord: 2.9.3 + postcss: 8.4.18 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-convert-values/5.1.3_postcss@8.4.18: + resolution: {integrity: sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.21.4 + postcss: 8.4.18 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-discard-comments/5.1.2_postcss@8.4.18: + resolution: {integrity: sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.18 + dev: false + + /postcss-discard-duplicates/5.1.0_postcss@8.4.18: + resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.18 + dev: false + + /postcss-discard-empty/5.1.1_postcss@8.4.18: + resolution: {integrity: sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.18 + dev: false + + /postcss-discard-overridden/5.1.0_postcss@8.4.18: + resolution: {integrity: sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.18 + dev: false + + /postcss-import/12.0.1: + resolution: {integrity: sha512-3Gti33dmCjyKBgimqGxL3vcV8w9+bsHwO5UrBawp796+jdardbcFl4RP5w/76BwNL7aGzpKstIfF9I+kdE8pTw==} + engines: {node: '>=6.0.0'} + dependencies: + postcss: 7.0.39 + postcss-value-parser: 3.3.1 + read-cache: 1.0.0 + resolve: 1.22.1 + dev: false + + /postcss-import/14.1.0_postcss@8.4.18: + resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==} + engines: {node: '>=10.0.0'} + peerDependencies: + postcss: ^8.0.0 + dependencies: + postcss: 8.4.18 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.1 + + /postcss-js/4.0.0_postcss@8.4.18: + resolution: {integrity: sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.3.3 + dependencies: + camelcase-css: 2.0.1 + postcss: 8.4.18 + + /postcss-load-config/3.1.4_postcss@8.4.18: + resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} + engines: {node: '>= 10'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + dependencies: + lilconfig: 2.0.6 + postcss: 8.4.18 + yaml: 1.10.2 + + /postcss-merge-longhand/5.1.7_postcss@8.4.18: + resolution: {integrity: sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.18 + postcss-value-parser: 4.2.0 + stylehacks: 5.1.1_postcss@8.4.18 + dev: false + + /postcss-merge-rules/5.1.3_postcss@8.4.18: + resolution: {integrity: sha512-LbLd7uFC00vpOuMvyZop8+vvhnfRGpp2S+IMQKeuOZZapPRY4SMq5ErjQeHbHsjCUgJkRNrlU+LmxsKIqPKQlA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.21.4 + caniuse-api: 3.0.0 + cssnano-utils: 3.1.0_postcss@8.4.18 + postcss: 8.4.18 + postcss-selector-parser: 6.0.10 + dev: false + + /postcss-minify-font-values/5.1.0_postcss@8.4.18: + resolution: {integrity: sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.18 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-minify-gradients/5.1.1_postcss@8.4.18: + resolution: {integrity: sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + colord: 2.9.3 + cssnano-utils: 3.1.0_postcss@8.4.18 + postcss: 8.4.18 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-minify-params/5.1.4_postcss@8.4.18: + resolution: {integrity: sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.21.4 + cssnano-utils: 3.1.0_postcss@8.4.18 + postcss: 8.4.18 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-minify-selectors/5.2.1_postcss@8.4.18: + resolution: {integrity: sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.18 + postcss-selector-parser: 6.0.10 + dev: false + + /postcss-nested/6.0.0_postcss@8.4.18: + resolution: {integrity: sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + dependencies: + postcss: 8.4.18 + postcss-selector-parser: 6.0.10 + + /postcss-normalize-charset/5.1.0_postcss@8.4.18: + resolution: {integrity: sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.18 + dev: false + + /postcss-normalize-display-values/5.1.0_postcss@8.4.18: + resolution: {integrity: sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.18 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-normalize-positions/5.1.1_postcss@8.4.18: + resolution: {integrity: sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.18 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-normalize-repeat-style/5.1.1_postcss@8.4.18: + resolution: {integrity: sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.18 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-normalize-string/5.1.0_postcss@8.4.18: + resolution: {integrity: sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.18 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-normalize-timing-functions/5.1.0_postcss@8.4.18: + resolution: {integrity: sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.18 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-normalize-unicode/5.1.1_postcss@8.4.18: + resolution: {integrity: sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.21.4 + postcss: 8.4.18 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-normalize-url/5.1.0_postcss@8.4.18: + resolution: {integrity: sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + normalize-url: 6.1.0 + postcss: 8.4.18 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-normalize-whitespace/5.1.1_postcss@8.4.18: + resolution: {integrity: sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.18 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-ordered-values/5.1.3_postcss@8.4.18: + resolution: {integrity: sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + cssnano-utils: 3.1.0_postcss@8.4.18 + postcss: 8.4.18 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-reduce-initial/5.1.1_postcss@8.4.18: + resolution: {integrity: sha512-//jeDqWcHPuXGZLoolFrUXBDyuEGbr9S2rMo19bkTIjBQ4PqkaO+oI8wua5BOUxpfi97i3PCoInsiFIEBfkm9w==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.21.4 + caniuse-api: 3.0.0 + postcss: 8.4.18 + dev: false + + /postcss-reduce-transforms/5.1.0_postcss@8.4.18: + resolution: {integrity: sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.18 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-selector-parser/6.0.10: + resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + /postcss-svgo/5.1.0_postcss@8.4.18: + resolution: {integrity: sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.18 + postcss-value-parser: 4.2.0 + svgo: 2.8.0 + dev: false + + /postcss-unique-selectors/5.1.1_postcss@8.4.18: + resolution: {integrity: sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.18 + postcss-selector-parser: 6.0.10 + dev: false + + /postcss-value-parser/3.3.1: + resolution: {integrity: sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==} + dev: false + + /postcss-value-parser/4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + + /postcss/7.0.39: + resolution: {integrity: sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==} + engines: {node: '>=6.0.0'} + dependencies: + picocolors: 0.2.1 + source-map: 0.6.1 + dev: false + + /postcss/8.4.18: + resolution: {integrity: sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.4 + picocolors: 1.0.0 + source-map-js: 1.0.2 + + /preact/10.11.2: + resolution: {integrity: sha512-skAwGDFmgxhq1DCBHke/9e12ewkhc7WYwjuhHB8HHS8zkdtITXLRmUMTeol2ldxvLwYtwbFeifZ9uDDWuyL4Iw==} + dev: false + + /prelude-ls/1.1.2: + resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} + engines: {node: '>= 0.8.0'} + dev: true + + /prelude-ls/1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: true + + /prettier-linter-helpers/1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} + dependencies: + fast-diff: 1.2.0 + dev: true + + /prettier/2.7.1: + resolution: {integrity: sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==} + engines: {node: '>=10.13.0'} + hasBin: true + dev: true + + /process-es6/0.11.6: + resolution: {integrity: sha512-GYBRQtL4v3wgigq10Pv58jmTbFXlIiTbSfgnNqZLY0ldUPqy1rRxDI5fCjoCpnM6TqmHQI8ydzTBXW86OYc0gA==} + dev: true + + /process-nextick-args/2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + dev: true + + /process/0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + + /public-encrypt/4.0.3: + resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} + dependencies: + bn.js: 4.12.0 + browserify-rsa: 4.1.0 + create-hash: 1.2.0 + parse-asn1: 5.1.6 + randombytes: 2.1.0 + safe-buffer: 5.1.2 + + /punycode/1.3.2: + resolution: {integrity: sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==} + + /punycode/1.4.1: + resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} + + /punycode/2.1.1: + resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} + engines: {node: '>=6'} + dev: true + + /q/1.5.1: + resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} + engines: {node: '>=0.6.0', teleport: '>=0.2.0'} + dev: false + + /querystring-es3/0.2.1: + resolution: {integrity: sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==} + engines: {node: '>=0.4.x'} + + /querystring/0.2.0: + resolution: {integrity: sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==} + engines: {node: '>=0.4.x'} + deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. + + /queue-microtask/1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + /quick-lru/5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} + + /randombytes/2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + dependencies: + safe-buffer: 5.1.2 + + /randomfill/1.0.4: + resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==} + dependencies: + randombytes: 2.1.0 + safe-buffer: 5.1.2 + + /read-cache/1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + dependencies: + pify: 2.3.0 + + /readable-stream/1.0.34: + resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==} + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 0.0.1 + string_decoder: 0.10.31 + dev: true + + /readable-stream/2.3.7: + resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + dev: true + + /readable-stream/3.6.0: + resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} + engines: {node: '>= 6'} + dependencies: + inherits: 2.0.4 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + + /readdirp/3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + + /reflect-metadata/0.1.13: + resolution: {integrity: sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==} + dev: true + + /regenerate-unicode-properties/10.1.0: + resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==} + engines: {node: '>=4'} + dependencies: + regenerate: 1.4.2 + dev: true + + /regenerate/1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + dev: true + + /regenerator-runtime/0.13.10: + resolution: {integrity: sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==} + dev: true + + /regenerator-transform/0.15.0: + resolution: {integrity: sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==} + dependencies: + '@babel/runtime': 7.20.1 + dev: true + + /regexpp/3.2.0: + resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} + engines: {node: '>=8'} + dev: true + + /regexpu-core/5.2.1: + resolution: {integrity: sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ==} + engines: {node: '>=4'} + dependencies: + regenerate: 1.4.2 + regenerate-unicode-properties: 10.1.0 + regjsgen: 0.7.1 + regjsparser: 0.9.1 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.0.0 + dev: true + + /regjsgen/0.7.1: + resolution: {integrity: sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==} + dev: true + + /regjsparser/0.9.1: + resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} + hasBin: true + dependencies: + jsesc: 0.5.0 + dev: true + + /remove-trailing-separator/1.1.0: + resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} + dev: true + + /replace-ext/1.0.1: + resolution: {integrity: sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==} + engines: {node: '>= 0.10'} + dev: true + + /require-directory/2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + dev: true + + /resolve-from/4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: true + + /resolve-from/5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + dev: true + + /resolve/1.22.1: + resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} + hasBin: true + dependencies: + is-core-module: 2.11.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + /reusify/1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + /rimraf/3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /ripemd160/2.0.2: + resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} + dependencies: + hash-base: 3.1.0 + inherits: 2.0.4 + + /rollup-obfuscator/3.0.1: + resolution: {integrity: sha512-JF2RFf2W6cxfMtPKKNEx/R3uGIMjOgmx5o1P8PQu2+ZRkjuxIU/cmG80NycRQaNhcUFrmqOPqLg4RplUrvuvHw==} + dependencies: + '@rollup/pluginutils': 4.2.1 + javascript-obfuscator: 4.0.0 + dev: true + + /rollup-plugin-inject/3.0.2: + resolution: {integrity: sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w==} + deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject. + dependencies: + estree-walker: 0.6.1 + magic-string: 0.25.9 + rollup-pluginutils: 2.8.2 + dev: true + + /rollup-plugin-node-globals/1.4.0: + resolution: {integrity: sha512-xRkB+W/m1KLIzPUmG0ofvR+CPNcvuCuNdjVBVS7ALKSxr3EDhnzNceGkGi1m8MToSli13AzKFYH4ie9w3I5L3g==} + dependencies: + acorn: 5.7.4 + buffer-es6: 4.9.3 + estree-walker: 0.5.2 + magic-string: 0.22.5 + process-es6: 0.11.6 + rollup-pluginutils: 2.8.2 + dev: true + + /rollup-plugin-node-polyfills/0.2.1: + resolution: {integrity: sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA==} + dependencies: + rollup-plugin-inject: 3.0.2 + dev: true + + /rollup-pluginutils/2.8.2: + resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} + dependencies: + estree-walker: 0.6.1 + dev: true + + /rollup/2.78.1: + resolution: {integrity: sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==} + engines: {node: '>=10.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /rollup/2.79.1: + resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} + engines: {node: '>=10.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.2 + + /run-parallel/1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + + /safe-buffer/5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + /safe-buffer/5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + /safer-buffer/2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + /semver/6.3.0: + resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} + hasBin: true + dev: true + + /semver/7.3.8: + resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /setimmediate/1.0.5: + resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} + + /sha.js/2.4.11: + resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} + hasBin: true + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + + /shebang-command/2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex/3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /shiki/0.11.1: + resolution: {integrity: sha512-EugY9VASFuDqOexOgXR18ZV+TbFrQHeCpEYaXamO+SZlsnT/2LxuLBX25GGtIrwaEVFXUAbUQ601SWE2rMwWHA==} + dependencies: + jsonc-parser: 3.2.0 + vscode-oniguruma: 1.6.2 + vscode-textmate: 6.0.0 + dev: false + + /slash/3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: true + + /source-map-js/1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + + /source-map-support/0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + /source-map/0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} + dev: true + + /source-map/0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + /sourcemap-codec/1.4.8: + resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} + + /stable/0.1.8: + resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} + deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' + dev: false + + /stream-browserify/3.0.0: + resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==} + dependencies: + inherits: 2.0.4 + readable-stream: 3.6.0 + + /stream-http/3.2.0: + resolution: {integrity: sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==} + dependencies: + builtin-status-codes: 3.0.0 + inherits: 2.0.4 + readable-stream: 3.6.0 + xtend: 4.0.2 + + /string-template/1.0.0: + resolution: {integrity: sha512-SLqR3GBUXuoPP5MmYtD7ompvXiG87QjT6lzOszyXjTM86Uu7At7vNnt2xgyTLq5o9T4IxTYFyGxcULqpsmsfdg==} + dev: true + + /string-width/4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: true + + /string_decoder/0.10.31: + resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} + dev: true + + /string_decoder/1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + dependencies: + safe-buffer: 5.1.2 + + /stringz/2.1.0: + resolution: {integrity: sha512-KlywLT+MZ+v0IRepfMxRtnSvDCMc3nR1qqCs3m/qIbSOWkNZYT8XHQA31rS3TnKp0c5xjZu3M4GY/2aRKSi/6A==} + dependencies: + char-regex: 1.0.2 + dev: true + + /strip-ansi/6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-json-comments/3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + dev: true + + /strong-type/0.1.6: + resolution: {integrity: sha512-eJe5caH6Pi5oMMeQtIoBPpvNu/s4jiyb63u5tkHNnQXomK+puyQ5i+Z5iTLBr/xUz/pIcps0NSfzzFI34+gAXg==} + engines: {node: '>=12.0.0'} + dev: true + + /strong-type/1.1.0: + resolution: {integrity: sha512-X5Z6riticuH5GnhUyzijfDi1SoXas8ODDyN7K8lJeQK+Jfi4dKdoJGL4CXTskY/ATBcN+rz5lROGn1tAUkOX7g==} + engines: {node: '>=12.21.0'} + dev: true + + /stylehacks/5.1.1_postcss@8.4.18: + resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.21.4 + postcss: 8.4.18 + postcss-selector-parser: 6.0.10 + dev: false + + /supports-color/5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + dev: true + + /supports-color/7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-preserve-symlinks-flag/1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + /svg-tags/1.0.0: + resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} + dev: true + + /svgo/2.8.0: + resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==} + engines: {node: '>=10.13.0'} + hasBin: true + dependencies: + '@trysound/sax': 0.2.0 + commander: 7.2.0 + css-select: 4.3.0 + css-tree: 1.1.3 + csso: 4.2.0 + picocolors: 1.0.0 + stable: 0.1.8 + dev: false + + /systemjs/6.13.0: + resolution: {integrity: sha512-P3cgh2bpaPvAO2NE3uRp/n6hmk4xPX4DQf+UzTlCAycssKdqhp6hjw+ENWe+aUS7TogKRFtptMosTSFeC6R55g==} + dev: true + + /tailwindcss/3.2.2_postcss@8.4.18: + resolution: {integrity: sha512-c2GtSdqg+harR4QeoTmex0Ngfg8IIHNeLQH5yr2B9uZbZR1Xt1rYbjWOWTcj3YLTZhrmZnPowoQDbSRFyZHQ5Q==} + engines: {node: '>=12.13.0'} + hasBin: true + peerDependencies: + postcss: ^8.0.9 + dependencies: + arg: 5.0.2 + chokidar: 3.5.3 + color-name: 1.1.4 + detective: 5.2.1 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.2.12 + glob-parent: 6.0.2 + is-glob: 4.0.3 + lilconfig: 2.0.6 + micromatch: 4.0.5 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.0.0 + postcss: 8.4.18 + postcss-import: 14.1.0_postcss@8.4.18 + postcss-js: 4.0.0_postcss@8.4.18 + postcss-load-config: 3.1.4_postcss@8.4.18 + postcss-nested: 6.0.0_postcss@8.4.18 + postcss-selector-parser: 6.0.10 + postcss-value-parser: 4.2.0 + quick-lru: 5.1.1 + resolve: 1.22.1 + transitivePeerDependencies: + - ts-node + + /terser/5.15.1: + resolution: {integrity: sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw==} + engines: {node: '>=10'} + hasBin: true + dependencies: + '@jridgewell/source-map': 0.3.2 + acorn: 8.8.1 + commander: 2.20.3 + source-map-support: 0.5.21 + + /text-table/0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: true + + /thrift/0.16.0: + resolution: {integrity: sha512-W8DpGyTPlIaK3f+e1XOCLxefaUWXtrOXAaVIDbfYhmVyriYeAKgsBVFNJUV1F9SQ2SPt2sG44AZQxSGwGj/3VA==} + engines: {node: '>= 10.18.0'} + dependencies: + browser-or-node: 1.3.0 + isomorphic-ws: 4.0.1_ws@5.2.3 + node-int64: 0.4.0 + q: 1.5.1 + ws: 5.2.3 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: false + + /through2/2.0.5: + resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} + dependencies: + readable-stream: 2.3.7 + xtend: 4.0.2 + dev: true + + /timers-browserify/2.0.12: + resolution: {integrity: sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==} + engines: {node: '>=0.6.0'} + dependencies: + setimmediate: 1.0.5 + + /to-fast-properties/2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + /to-regex-range/5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + + /tslib/1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + dev: true + + /tslib/2.3.1: + resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==} + dev: true + + /tsutils/3.21.0_typescript@4.8.4: + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + 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' + dependencies: + tslib: 1.14.1 + typescript: 4.8.4 + dev: true + + /tty-browserify/0.0.1: + resolution: {integrity: sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==} + + /type-check/0.3.2: + resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.1.2 + dev: true + + /type-check/0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-fest/0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + dev: true + + /typescript/4.8.4: + resolution: {integrity: sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==} + engines: {node: '>=4.2.0'} + hasBin: true + + /unicode-canonical-property-names-ecmascript/2.0.0: + resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + engines: {node: '>=4'} + dev: true + + /unicode-match-property-ecmascript/2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + dependencies: + unicode-canonical-property-names-ecmascript: 2.0.0 + unicode-property-aliases-ecmascript: 2.1.0 + dev: true + + /unicode-match-property-value-ecmascript/2.0.0: + resolution: {integrity: sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==} + engines: {node: '>=4'} + dev: true + + /unicode-property-aliases-ecmascript/2.1.0: + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} + dev: true + + /untildify/4.0.0: + resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} + engines: {node: '>=8'} + dev: true + + /update-browserslist-db/1.0.10_browserslist@4.21.4: + resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.21.4 + escalade: 3.1.1 + picocolors: 1.0.0 + + /uri-js/4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.1.1 + dev: true + + /url/0.11.0: + resolution: {integrity: sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==} + dependencies: + punycode: 1.3.2 + querystring: 0.2.0 + + /util-deprecate/1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + /util/0.12.5: + resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} + dependencies: + inherits: 2.0.4 + is-arguments: 1.1.1 + is-generator-function: 1.0.10 + is-typed-array: 1.1.10 + which-typed-array: 1.1.9 + + /uuid/8.1.0: + resolution: {integrity: sha512-CI18flHDznR0lq54xBycOVmphdCYnQLKn8abKn7PXUiKUGdEd+/l9LWNJmugXel4hXq7S+RMNl34ecyC9TntWg==} + hasBin: true + dev: true + + /validator/13.7.0: + resolution: {integrity: sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==} + engines: {node: '>= 0.10'} + dev: true + + /vinyl-sourcemaps-apply/0.2.1: + resolution: {integrity: sha512-+oDh3KYZBoZC8hfocrbrxbLUeaYtQK7J5WU5Br9VqWqmCll3tFJqKp97GC9GmMsVIL0qnx2DgEDVxdo5EZ5sSw==} + dependencies: + source-map: 0.5.7 + dev: true + + /vinyl/2.2.1: + resolution: {integrity: sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==} + engines: {node: '>= 0.10'} + dependencies: + clone: 2.1.2 + clone-buffer: 1.0.0 + clone-stats: 1.0.0 + cloneable-readable: 1.1.3 + remove-trailing-separator: 1.1.0 + replace-ext: 1.0.1 + dev: true + + /vite-plugin-chunk-split/0.4.3_terser@5.15.1: + resolution: {integrity: sha512-PW22WxPRXL+ZlOQ98Ma34g0aNjBQDbA3V7b1s8dVANfKKeBznhxcLOQH7/nv2zmXtKellNiB0ABt37odmBuxwg==} + dependencies: + es-module-lexer: 1.1.0 + magic-string: 0.26.7 + vite: 3.1.0_terser@5.15.1 + transitivePeerDependencies: + - less + - sass + - stylus + - terser + dev: true + + /vite-plugin-node-stdlib-browser/0.1.1_2kanylj5izyyptb57x4jqclh2u: + resolution: {integrity: sha512-KsvUWxiVBJwb8DDOl5XP6E7qq2VMSWtLe8HOu7wuVhSejGAeSqDq+64WLcPvfpuW/ExEDIEMt17JDrEaofr0fQ==} + peerDependencies: + node-stdlib-browser: ^1.2.0 + vite: ^2.0.0 || ^3.0.0 + dependencies: + '@rollup/plugin-inject': 4.0.4_rollup@2.79.1 + node-stdlib-browser: 1.2.0 + vite: 3.2.2_terser@5.15.1 + transitivePeerDependencies: + - rollup + dev: true + + /vite/3.1.0_terser@5.15.1: + resolution: {integrity: sha512-YBg3dUicDpDWFCGttmvMbVyS9ydjntwEjwXRj2KBFwSB8SxmGcudo1yb8FW5+M/G86aS8x828ujnzUVdsLjs9g==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + less: '*' + sass: '*' + stylus: '*' + terser: ^5.4.0 + peerDependenciesMeta: + less: + optional: true + sass: + optional: true + stylus: + optional: true + terser: + optional: true + dependencies: + esbuild: 0.15.13 + postcss: 8.4.18 + resolve: 1.22.1 + rollup: 2.78.1 + terser: 5.15.1 + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /vite/3.2.2_terser@5.15.1: + resolution: {integrity: sha512-pLrhatFFOWO9kS19bQ658CnRYzv0WLbsPih6R+iFeEEhDOuYgYCX2rztUViMz/uy/V8cLCJvLFeiOK7RJEzHcw==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + less: '*' + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + less: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + esbuild: 0.15.13 + postcss: 8.4.18 + resolve: 1.22.1 + rollup: 2.79.1 + terser: 5.15.1 + optionalDependencies: + fsevents: 2.3.2 + + /vitepress/1.0.0-alpha.27_7bzztktfx4ksi72cjsd4rjugn4: + resolution: {integrity: sha512-7/PwlIRZANvB2uyi8oi4oMXuH84g2/pAaoymb+ObBCs60m0oVxKMPO28w7R/svqSnnE+bNDOuLzTCXt7gn513g==} + hasBin: true + dependencies: + '@docsearch/css': 3.3.0 + '@docsearch/js': 3.3.0_tbpndr44ulefs3hehwpi2mkf2y + '@vitejs/plugin-vue': 3.2.0_vite@3.2.2+vue@3.2.41 + '@vue/devtools-api': 6.4.5 + '@vueuse/core': 9.4.0_vue@3.2.41 + body-scroll-lock: 4.0.0-beta.0 + shiki: 0.11.1 + vite: 3.2.2_terser@5.15.1 + vue: 3.2.41 + transitivePeerDependencies: + - '@algolia/client-search' + - '@types/react' + - '@vue/composition-api' + - less + - react + - react-dom + - sass + - stylus + - sugarss + - terser + dev: false + + /vlq/0.2.3: + resolution: {integrity: sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==} + dev: true + + /vm-browserify/1.1.2: + resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==} + + /vscode-languageserver-textdocument/1.0.7: + resolution: {integrity: sha512-bFJH7UQxlXT8kKeyiyu41r22jCZXG8kuuVVA33OEJn1diWOZK5n8zBSPZFHVBOu8kXZ6h0LIRhf5UnCo61J4Hg==} + dev: true + + /vscode-oniguruma/1.6.2: + resolution: {integrity: sha512-KH8+KKov5eS/9WhofZR8M8dMHWN2gTxjMsG4jd04YhpbPR91fUj7rYQ2/XjeHCJWbg7X++ApRIU9NUwM2vTvLA==} + dev: false + + /vscode-textmate/6.0.0: + resolution: {integrity: sha512-gu73tuZfJgu+mvCSy4UZwd2JXykjK9zAZsfmDeut5dx/1a7FeTk0XwJsSuqQn+cuMCGVbIBfl+s53X4T19DnzQ==} + dev: false + + /vscode-uri/2.1.2: + resolution: {integrity: sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==} + dev: true + + /vue-demi/0.13.11_vue@3.2.41: + resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + vue: 3.2.41 + dev: false + + /vue-eslint-parser/9.1.0_eslint@8.26.0: + resolution: {integrity: sha512-NGn/iQy8/Wb7RrRa4aRkokyCZfOUWk19OP5HP6JEozQFX5AoS/t+Z0ZN7FY4LlmWc4FNI922V7cvX28zctN8dQ==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + dependencies: + debug: 4.3.4 + eslint: 8.26.0 + eslint-scope: 7.1.1 + eslint-visitor-keys: 3.3.0 + espree: 9.4.0 + esquery: 1.4.0 + lodash: 4.17.21 + semver: 7.3.8 + transitivePeerDependencies: + - supports-color + dev: true + + /vue-router/4.1.6_vue@3.2.41: + resolution: {integrity: sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ==} + peerDependencies: + vue: ^3.2.0 + dependencies: + '@vue/devtools-api': 6.4.5 + vue: 3.2.41 + dev: false + + /vue-template-compiler/2.7.13: + resolution: {integrity: sha512-jYM6TClwDS9YqP48gYrtAtaOhRKkbYmbzE+Q51gX5YDr777n7tNI/IZk4QV4l/PjQPNh/FVa/E92sh/RqKMrog==} + dependencies: + de-indent: 1.0.2 + he: 1.2.0 + dev: true + + /vue-tsc/1.0.9_typescript@4.8.4: + resolution: {integrity: sha512-vRmHD1K6DmBymNhoHjQy/aYKTRQNLGOu2/ESasChG9Vy113K6CdP0NlhR0bzgFJfv2eFB9Ez/9L5kIciUajBxQ==} + hasBin: true + peerDependencies: + typescript: '*' + dependencies: + '@volar/vue-language-core': 1.0.9 + '@volar/vue-typescript': 1.0.9 + typescript: 4.8.4 + dev: true + + /vue/3.2.41: + resolution: {integrity: sha512-uuuvnrDXEeZ9VUPljgHkqB5IaVO8SxhPpqF2eWOukVrBnRBx2THPSGQBnVRt0GrIG1gvCmFXMGbd7FqcT1ixNQ==} + dependencies: + '@vue/compiler-dom': 3.2.41 + '@vue/compiler-sfc': 3.2.41 + '@vue/runtime-dom': 3.2.41 + '@vue/server-renderer': 3.2.41_vue@3.2.41 + '@vue/shared': 3.2.41 + + /vue3-easy-data-table/1.5.12: + resolution: {integrity: sha512-XMHXIqQSV5Yh9N1qfXtIQ+QLp1+yABFU7L/3AL1RLD/qmm33E6EY47Dc9aoDCC8AOUE1vx+dEncYlTGOcaLNLQ==} + dependencies: + vue: 3.2.41 + dev: false + + /vue3-perfect-scrollbar/1.6.1_postcss@8.4.18: + resolution: {integrity: sha512-r9wfxlFwVyHXMPKG0PnR7fDfJPQ20KEVzKQfSU5by2WKYz2PwV0bTfyfejmEyZXsXL0O8VtSWtgxfPuFR2AGOg==} + dependencies: + cssnano: 5.1.14_postcss@8.4.18 + perfect-scrollbar: 1.5.5 + postcss-import: 12.0.1 + transitivePeerDependencies: + - postcss + dev: false + + /which-typed-array/1.1.9: + resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 + is-typed-array: 1.1.10 + + /which/2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /word-wrap/1.2.3: + resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} + engines: {node: '>=0.10.0'} + dev: true + + /wrap-ansi/7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrappy/1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + dev: true + + /ws/5.2.3: + resolution: {integrity: sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA==} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dependencies: + async-limiter: 1.0.1 + dev: false + + /xml-name-validator/4.0.0: + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} + engines: {node: '>=12'} + dev: true + + /xtend/4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + + /y18n/5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + dev: true + + /yallist/4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: true + + /yaml/1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} + + /yargs-parser/20.2.9: + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} + dev: true + + /yargs/16.2.0: + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} + dependencies: + cliui: 7.0.4 + escalade: 3.1.1 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 20.2.9 + dev: true + + /yocto-queue/0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} diff --git a/frontend/postcss.config.cjs b/frontend/postcss.config.cjs new file mode 100644 index 0000000..12a703d --- /dev/null +++ b/frontend/postcss.config.cjs @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +}; diff --git a/frontend/public/vite.svg b/frontend/public/vite.svg new file mode 100644 index 0000000..e7b8dfb --- /dev/null +++ b/frontend/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/src/App.vue b/frontend/src/App.vue new file mode 100644 index 0000000..0254150 --- /dev/null +++ b/frontend/src/App.vue @@ -0,0 +1,77 @@ + + + + diff --git a/frontend/src/assets/vue.svg b/frontend/src/assets/vue.svg new file mode 100644 index 0000000..770e9d3 --- /dev/null +++ b/frontend/src/assets/vue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/src/components/AlertBox.vue b/frontend/src/components/AlertBox.vue new file mode 100644 index 0000000..bbffbce --- /dev/null +++ b/frontend/src/components/AlertBox.vue @@ -0,0 +1,53 @@ + + diff --git a/frontend/src/components/NavigationBar.vue b/frontend/src/components/NavigationBar.vue new file mode 100644 index 0000000..d3c30a3 --- /dev/null +++ b/frontend/src/components/NavigationBar.vue @@ -0,0 +1,144 @@ + + diff --git a/frontend/src/components/SpinnerIcon.vue b/frontend/src/components/SpinnerIcon.vue new file mode 100644 index 0000000..94e57d6 --- /dev/null +++ b/frontend/src/components/SpinnerIcon.vue @@ -0,0 +1,19 @@ + + diff --git a/frontend/src/hub/defaults.ts b/frontend/src/hub/defaults.ts new file mode 100644 index 0000000..f5d184c --- /dev/null +++ b/frontend/src/hub/defaults.ts @@ -0,0 +1,43 @@ +import { HttpHeaders, TBinaryProtocol, TCompactProtocol, TJSONProtocol } from 'thrift'; +import hub, { ClientOptions } from '.'; +import { ServiceType } from './service_type'; +import { HubHeader } from './hub'; + +let defaultHubUrl: URL; +let hubSolveMethod = 'UNRESOLVED'; +try { + defaultHubUrl = new URL(import.meta.env.VITE_HUB_URL || window.location.href); + hubSolveMethod = import.meta.env.VITE_HUB_URL ? 'ENV' : 'BROWSER'; +} catch { + defaultHubUrl = new URL(window.location.href); + hubSolveMethod = 'BROWSER2'; +} +console.log(`[hub] url ${defaultHubUrl} ${hubSolveMethod}`); + +export const defaultHost = defaultHubUrl.hostname; +export const defaultPort = + parseInt(defaultHubUrl.port) || (window.location.protocol === 'https:' ? 443 : 80); +export const defaultConfig: ClientOptions = { + host: defaultHost, + port: defaultPort, + https: defaultHubUrl.protocol.indexOf('https') !== -1, + path: defaultHubUrl.pathname + defaultHubUrl.search, + protocol: TCompactProtocol, + headers: ((): HttpHeaders => { + const headers = { + ...HubHeader, + 'Content-Type': 'application/x-thrift; charset=utf-8; protocol=TCOMPACT', + }; + return headers; + })(), +}; +console.log(`[hub] default config:`, defaultConfig); + +export const defaultClientOptions = new Map([ + [ + ServiceType.BizCore, + { + ...defaultConfig, + }, + ], +]); diff --git a/frontend/src/hub/hub.ts b/frontend/src/hub/hub.ts new file mode 100644 index 0000000..e56b544 --- /dev/null +++ b/frontend/src/hub/hub.ts @@ -0,0 +1,36 @@ +import { ThriftClient } from './xhr_client'; +import /* * as */Core from '@thriftgen/CoreService'; +import { ServiceType } from './service_type'; +import { ClientOptions } from '.'; +import { defaultClientOptions } from './defaults'; + +export const HubClientVersion = '1.0.0'; +export const HeaderKeyHubVersion = 'x-hub-version'; +export const HeaderKeyHubEnv = 'x-hub-env'; +export const HeaderKeyHubApp = 'x-hub-app'; + +export const CookieKeyTrackToken = 'trk_token'; +export const HeaderKeyTrackToken = 'x-hub-track-token'; + +export const CookieKeyAuthToken = 'auth_token'; +export const HeaderKeyAuthToken = 'x-hub-auth-token'; + +export const HubHeader = { + [HeaderKeyHubVersion]: HubClientVersion, + [HeaderKeyHubEnv]: '*', + [HeaderKeyHubApp]: 'global', +}; + +export function defaultHubInit( + opts: Map = defaultClientOptions, +): ThriftHub { + console.log('[hub] init'); + return new ThriftHub(opts); +} + +export class ThriftHub { + BizCore: ThriftClient; + constructor(opts: Map) { + this.BizCore = new ThriftClient(Core.Client, opts.get(ServiceType.BizCore)!); + } +} diff --git a/frontend/src/hub/index.ts b/frontend/src/hub/index.ts new file mode 100644 index 0000000..d155022 --- /dev/null +++ b/frontend/src/hub/index.ts @@ -0,0 +1,28 @@ +import { + createXHRClient, + createXHRConnection, + TBinaryProtocol, + TJSONProtocol, + XHRConnection, + type ConnectOptions, +} from 'thrift'; +import { App, inject } from 'vue'; +import { defaultClientOptions } from './defaults'; +import { defaultHubInit, ThriftHub } from './hub'; +import { ServiceType } from './service_type'; + +export type ClientOptions = ConnectOptions & { + host: string; + port: number; +}; + +const hubProvideKey = 'thrift_hub'; +export function useHub(): ThriftHub { + return inject(hubProvideKey) || defaultHubInit(); +} + +export default { + install: (app: App, opts: Map = defaultClientOptions) => { + app.provide(hubProvideKey, defaultHubInit(opts)); + }, +}; diff --git a/frontend/src/hub/service_type.ts b/frontend/src/hub/service_type.ts new file mode 100644 index 0000000..54689c2 --- /dev/null +++ b/frontend/src/hub/service_type.ts @@ -0,0 +1,3 @@ +export enum ServiceType { + BizCore = 'biz_core', +} diff --git a/frontend/src/hub/xhr_client.ts b/frontend/src/hub/xhr_client.ts new file mode 100644 index 0000000..7f5cbd2 --- /dev/null +++ b/frontend/src/hub/xhr_client.ts @@ -0,0 +1,80 @@ +import { getCookie, setCookie } from '@/utils/cookie'; +import { + createClient, + createXHRClient, + createXHRConnection, + TClientConstructor, + XHRConnection, +} from 'thrift'; +import { computed } from 'vue'; +import { ClientOptions } from '.'; +import { CookieKeyAuthToken, CookieKeyTrackToken, HeaderKeyAuthToken, HeaderKeyTrackToken } from './hub'; + +export function initXHRClient( + clientCtor: TClientConstructor, + opts: ClientOptions, +): TClient { + const { host, port, ...addOpts } = opts; + const conn = createXHRConnection(host, port, { ...addOpts }); + const client = createXHRClient(clientCtor, conn); + return client; +} + +export class ThriftClient { + opts: ClientOptions; + conn: XHRConnection; + client: TClient; + constructor(clientCtor: TClientConstructor, opts: ClientOptions) { + this.opts = opts; + this.conn = createXHRConnection(this.opts.host, this.opts.port, { + ...this.opts, + }); + const originalGetXmlHttpRequestObject = this.conn.getXmlHttpRequestObject; + this.conn.getXmlHttpRequestObject = () => { + const xreq = originalGetXmlHttpRequestObject(); + xreq.responseType = 'arraybuffer'; + return xreq; + }; + + const originalFlush = this.conn.flush; + this.conn.flush = () => { + const xreq = this.conn.getXmlHttpRequestObject(); + xreq.overrideMimeType('application/x-thrift'); + xreq.onreadystatechange = () => { + if (xreq.readyState == 4 && xreq.status == 200) { + // if (xreq.getAllResponseHeaders().indexOf(HeaderKeyTrackToken) >= 0) { + // const token = xreq.getResponseHeader(HeaderKeyTrackToken); + // if (token) { + // console.log('got trk token:', token); + // setCookie(CookieKeyTrackToken, token); + // } + // } + this.conn.setRecvBuffer(xreq.response); + } + }; + const self: any = this.conn; + xreq.open('POST', self.url, true); + Object.keys(this.conn.headers).forEach(function (headerKey) { + xreq.setRequestHeader(headerKey, self.headers[headerKey]); + }); + + const trkToken = getCookie(CookieKeyTrackToken); + if (trkToken) { + console.log('use track token:', trkToken); + xreq.setRequestHeader(HeaderKeyTrackToken, trkToken); + } + const authToken = getCookie(CookieKeyAuthToken); + if (authToken) { + console.log('use auth token:', authToken); + xreq.setRequestHeader(HeaderKeyAuthToken, authToken); + } + try { + xreq.send(this.conn.send_buf); + } catch (e) { + console.error('xhr client:', e); + } + }; + + this.client = createXHRClient(clientCtor, this.conn); + } +} diff --git a/frontend/src/main.ts b/frontend/src/main.ts new file mode 100644 index 0000000..d8f172c --- /dev/null +++ b/frontend/src/main.ts @@ -0,0 +1,25 @@ +import 'vite/modulepreload-polyfill'; +import { createApp } from 'vue'; +import { createPinia } from 'pinia'; +import './style.css'; +import App from './App.vue'; +import hub from '@/hub'; +import router from './router'; + +import Vue3PerfectScrollbar from 'vue3-perfect-scrollbar'; + +import Vue3EasyDataTable from 'vue3-easy-data-table'; +import 'vue3-easy-data-table/dist/style.css'; + +import 'flowbite'; +// import 'flowbite-vue'; + +const app = createApp(App); +app.use(hub); // client hub +app.use(router); +app.use(createPinia()); + +app.use(Vue3PerfectScrollbar); +app.component('EasyDataTable', Vue3EasyDataTable); + +app.mount('#app'); diff --git a/frontend/src/router/index.ts b/frontend/src/router/index.ts new file mode 100644 index 0000000..860e20e --- /dev/null +++ b/frontend/src/router/index.ts @@ -0,0 +1,24 @@ +import core from '@/views/core'; +import error from '@/views/error'; +import { createRouter, createWebHistory } from 'vue-router'; + +export type NavbarLinkMeta = { + caption: string; + classList?: string; + priority?: number; +}; + +declare module 'vue-router' { + interface RouteMeta { + requiresAuth?: boolean; + displayNavigationBar?: boolean; + navbarLink?: NavbarLinkMeta; + } +} + +const router = createRouter({ + history: createWebHistory(), + routes: [...core.routes(), ...error.routes()], +}); + +export default router; diff --git a/frontend/src/stores/alert.ts b/frontend/src/stores/alert.ts new file mode 100644 index 0000000..0209921 --- /dev/null +++ b/frontend/src/stores/alert.ts @@ -0,0 +1,55 @@ +import { defineStore } from 'pinia'; + +export enum AlertType { + Error, + Warning, + Success, +} + +export type Alert = { + show: boolean; + className: string; + title: string; + description: string; + type: AlertType; +}; + +const defaultData = () => + { + show: false, + className: '', + title: '', + description: '', + type: AlertType.Error, + }; + +export const useAlert = defineStore({ + id: 'alert', + state: () => { + return defaultData(); + }, + getters: {}, + actions: { + hide() { + this.show = false; + }, + showContent( + title: string, + description: string, + opt?: { className?: string; type?: AlertType }, + ) { + Object.assign(this, defaultData()); + this.title = title; + this.description = description; + this.show = true; + if (opt) { + if (opt.className) { + this.className = opt.className; + } + if (opt.type) { + this.type = opt.type; + } + } + }, + }, +}); diff --git a/frontend/src/stores/auth.ts b/frontend/src/stores/auth.ts new file mode 100644 index 0000000..dbee8ae --- /dev/null +++ b/frontend/src/stores/auth.ts @@ -0,0 +1,73 @@ +import { defineStore } from 'pinia'; + +import /* * as */structs from '@thriftgen/structs_types'; +import { deleteCookie, getCookie, setCookie } from '@/utils/cookie'; +import { CookieKeyAuthToken, CookieKeyTrackToken } from '@/hub/hub'; +import { RemovableRef, useLocalStorage } from '@vueuse/core'; + +export type Auth = { + trkToken: string; + token: string; + profile?: structs.User; +}; + +type AuthState = { + trkToken: RemovableRef; + token: RemovableRef; + profile?: structs.User; +}; + +export function isValidToken(token: string): boolean { + return token != '' && token != undefined && token != 'undefined'; +} + +export const useAuth = defineStore({ + id: 'user', + state: () => + { + trkToken: useLocalStorage('trkToken', ''), + token: useLocalStorage('token', ''), + profile: undefined, + }, + getters: { + hasProfile(state): boolean { + return state.profile != null; + }, + hasToken(state): boolean { + return isValidToken(this.trackToken); + }, + isLoggedIn(state): boolean { + return this.hasToken && this.hasProfile; + }, + trackToken(state): string { + return state.trkToken; + }, + authToken(state): string { + return state.token; + }, + }, + actions: { + setTrackToken(token?: string) { + if (!token) return; + console.log('set track token:', token); + setCookie(CookieKeyTrackToken, token); + this.trkToken = token; + }, + setAuthToken(token?: string) { + if (!token) return; + console.log('set auth token:', token); + setCookie(CookieKeyAuthToken, token); + this.token = token; + }, + setProfile(profile: structs.User) { + this.profile = profile; + }, + logout() { + deleteCookie(CookieKeyAuthToken); + deleteCookie(CookieKeyTrackToken); + this.profile = undefined; + this.token = ''; + this.trkToken = ''; + }, + }, +}); diff --git a/frontend/src/stores/theme.ts b/frontend/src/stores/theme.ts new file mode 100644 index 0000000..2c4ec4e --- /dev/null +++ b/frontend/src/stores/theme.ts @@ -0,0 +1,25 @@ +import { defineStore } from 'pinia'; + +export const useTheme = defineStore({ + id: 'theme', + state: () => ({ + _darkTheme: false, + _navigationBarVisibility: true, + }), + getters: { + isDarkThemeEnabled(state): boolean { + return state._darkTheme; + }, + navigationBarVisibility(state): boolean { + return state._navigationBarVisibility + }, + }, + actions: { + toggleDarkTheme() { + this._darkTheme = !this._darkTheme; + }, + setNavigationBarVisibility(visibility: boolean): void { + this._navigationBarVisibility = visibility; + }, + }, +}); diff --git a/frontend/src/style.css b/frontend/src/style.css new file mode 100644 index 0000000..a90f074 --- /dev/null +++ b/frontend/src/style.css @@ -0,0 +1,4 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + diff --git a/frontend/src/utils/cookie.ts b/frontend/src/utils/cookie.ts new file mode 100644 index 0000000..3da5669 --- /dev/null +++ b/frontend/src/utils/cookie.ts @@ -0,0 +1,33 @@ +/* + * General utils for managing cookies in Typescript. + */ +export function setCookie(name: string, val: string) { + const date = new Date(); + const value = val; + + // Set it expire in 7 days + date.setTime(date.getTime() + 7 * 24 * 60 * 60 * 1000); + + // Set it + document.cookie = name + '=' + value + '; expires=' + date.toUTCString() + '; path=/'; +} + +export function getCookie(name: string): string | undefined { + const value = '; ' + document.cookie; + const parts = value.split('; ' + name + '='); + + if (parts.length == 2) { + return parts.pop()?.split(';').shift(); + } + return undefined; +} + +export function deleteCookie(name: string) { + const date = new Date(); + + // Set it expire in -1 days + date.setTime(date.getTime() + -1 * 24 * 60 * 60 * 1000); + + // Set it + document.cookie = name + '=; expires=' + date.toUTCString() + '; path=/'; +} diff --git a/frontend/src/views/core/AdminUserListView.vue b/frontend/src/views/core/AdminUserListView.vue new file mode 100644 index 0000000..714268b --- /dev/null +++ b/frontend/src/views/core/AdminUserListView.vue @@ -0,0 +1,501 @@ + + diff --git a/frontend/src/views/core/HomeView.vue b/frontend/src/views/core/HomeView.vue new file mode 100644 index 0000000..98b8f3f --- /dev/null +++ b/frontend/src/views/core/HomeView.vue @@ -0,0 +1,16 @@ + + diff --git a/frontend/src/views/core/LoginView.vue b/frontend/src/views/core/LoginView.vue new file mode 100644 index 0000000..c348dd3 --- /dev/null +++ b/frontend/src/views/core/LoginView.vue @@ -0,0 +1,80 @@ + + diff --git a/frontend/src/views/core/UserWajibPajakListView.vue b/frontend/src/views/core/UserWajibPajakListView.vue new file mode 100644 index 0000000..11aa1d0 --- /dev/null +++ b/frontend/src/views/core/UserWajibPajakListView.vue @@ -0,0 +1,358 @@ + + diff --git a/frontend/src/views/core/components/HeadingPage.vue b/frontend/src/views/core/components/HeadingPage.vue new file mode 100644 index 0000000..05ab5d3 --- /dev/null +++ b/frontend/src/views/core/components/HeadingPage.vue @@ -0,0 +1,5 @@ + diff --git a/frontend/src/views/core/components/LoginCard.vue b/frontend/src/views/core/components/LoginCard.vue new file mode 100644 index 0000000..83c6892 --- /dev/null +++ b/frontend/src/views/core/components/LoginCard.vue @@ -0,0 +1,131 @@ + + diff --git a/frontend/src/views/core/components/ModalDialog.vue b/frontend/src/views/core/components/ModalDialog.vue new file mode 100644 index 0000000..4124ed1 --- /dev/null +++ b/frontend/src/views/core/components/ModalDialog.vue @@ -0,0 +1,139 @@ + + + + diff --git a/frontend/src/views/core/index.ts b/frontend/src/views/core/index.ts new file mode 100644 index 0000000..02acf99 --- /dev/null +++ b/frontend/src/views/core/index.ts @@ -0,0 +1,63 @@ +import { RouteRecordRaw } from 'vue-router'; +import AdminUserCreateViewVue from './AdminUserCreateView.vue'; +import AdminUserListViewVue from './AdminUserListView.vue'; +import HomeView from './HomeView.vue'; +import LoginView from './LoginView.vue'; +import UserWajibPajakListViewVue from './UserWajibPajakListView.vue'; + + + +export function routes(): RouteRecordRaw[] { + return [ + { + path: '/', + name: 'core_home', + component: HomeView, + meta: { + requiresAuth: false, + navbarLink: { + caption: 'Home', + priority: 5, + }, + }, + }, + { + path: '/login', + name: 'core_login', + component: LoginView, + meta: { + requresAuth: false, + }, + }, + + // wajib pajak + { + path: '/wajib-pajak/list', + name: 'core_wajibpajak_list', + component: UserWajibPajakListViewVue, + meta: { + requiresAuth: true, + navbarLink: { + caption: 'Wajib Pajak', + }, + }, + }, + + // admin + { + path: '/admin/users', + name: 'core_admin_user_list', + component: AdminUserListViewVue, + meta: { + requiresAuth: true, + navbarLink: { + caption: 'Users', + }, + }, + }, + ]; +} + +export default { + routes, +}; diff --git a/frontend/src/views/error/NotFoundView.vue b/frontend/src/views/error/NotFoundView.vue new file mode 100644 index 0000000..2c1908c --- /dev/null +++ b/frontend/src/views/error/NotFoundView.vue @@ -0,0 +1,32 @@ + + diff --git a/frontend/src/views/error/index.ts b/frontend/src/views/error/index.ts new file mode 100644 index 0000000..9b88f1e --- /dev/null +++ b/frontend/src/views/error/index.ts @@ -0,0 +1,16 @@ +import { type RouteRecordRaw } from 'vue-router'; +import NotFoundView from './NotFoundView.vue'; + +export function routes(): RouteRecordRaw[] { + return [ + { + path: '/:pathMatch(.*)*', + name: 'error_not_found', + component: NotFoundView, + }, + ]; +} + +export default { + routes, +}; diff --git a/frontend/src/vite-env.d.ts b/frontend/src/vite-env.d.ts new file mode 100644 index 0000000..0f95676 --- /dev/null +++ b/frontend/src/vite-env.d.ts @@ -0,0 +1,8 @@ +/// + +declare module '*.vue' { + import type { DefineComponent } from 'vue'; + const component: DefineComponent<{}, {}, any>; + + export default component; +} diff --git a/frontend/tailwind.config.cjs b/frontend/tailwind.config.cjs new file mode 100644 index 0000000..8ae0c94 --- /dev/null +++ b/frontend/tailwind.config.cjs @@ -0,0 +1,32 @@ +// import colors from 'tailwindcss/colors'; + +// import fbplugin from 'flowbite/plugin'; + +/** @type {import('tailwindcss').Config} */ +module.exports = { + darkMode: 'class', + content: [ + './index.html', + './src/**/*.{vue,js,ts,jsx,tsx}', + './node_modules/flowbite/**/*.js', + './node_modules/flowbite-vue/**/*.{js,jsx,ts,tsx}', + './3rdparty/flowbite-vue/**/*.{vue,js,jsx,ts,tsx}', + ], + theme: { + // colors: { + // gray: colors.coolGray, + // blue: colors.lightBlue, + // red: colors.rose, + // pink: colors.fuchsia, + // }, + // fontFamily: { + // sans: ['Graphik', 'sans-serif'], + // serif: ['Merriweather', 'serif'], + // }, + extend: {}, + }, + plugins: [ + // require('@acmecorp/base-tailwind-config'), + require('flowbite/plugin'), + ], +}; diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json new file mode 100644 index 0000000..afc382e --- /dev/null +++ b/frontend/tsconfig.json @@ -0,0 +1,36 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"], + "@thriftgen/*": ["./gen/*"], + // "@flowbite-vue": ["./3rdparty/flowbite-vue/src/*"], + }, + // "target": "ESNext", + // "module": "ESNext", + "module": "ESNext", + "target": "ES5", + "sourceMap": true, + "useDefineForClassFields": true, + "moduleResolution": "Node", + "strict": true, + "strictNullChecks": true, + "allowJs": true, + "jsx": "preserve", + "resolveJsonModule": true, + "isolatedModules": true, + "esModuleInterop": true, + "noImplicitReturns": true, + "lib": ["ESNext", "DOM"], + "plugins": [{ "name": "@vuedx/typescript-plugin-vue" }], + "skipLibCheck": true, + "noEmit": true + }, + "include": [ + "env.d.ts", + "src/**/*.ts", + "src/**/*.d.ts", + "src/**/*.tsx", + "src/**/*.vue", + ], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/frontend/tsconfig.node.json b/frontend/tsconfig.node.json new file mode 100644 index 0000000..f9cc81a --- /dev/null +++ b/frontend/tsconfig.node.json @@ -0,0 +1,15 @@ +{ + "compilerOptions": { + "composite": true, + "module": "ESNext", + "moduleResolution": "Node", + "allowSyntheticDefaultImports": true, + + "resolveJsonModule": true, + }, + "include": [ + "package.json", + "vite.config.ts", + "vite-polyfill-aliases.ts", + ] +} diff --git a/frontend/vite-polyfill-aliases.ts b/frontend/vite-polyfill-aliases.ts new file mode 100644 index 0000000..76715b6 --- /dev/null +++ b/frontend/vite-polyfill-aliases.ts @@ -0,0 +1,32 @@ +export default { + util: 'rollup-plugin-node-polyfills/polyfills/util', + sys: 'util', + events: 'rollup-plugin-node-polyfills/polyfills/events', + stream: 'rollup-plugin-node-polyfills/polyfills/stream', + path: 'rollup-plugin-node-polyfills/polyfills/path', + querystring: 'rollup-plugin-node-polyfills/polyfills/qs', + punycode: 'rollup-plugin-node-polyfills/polyfills/punycode', + url: 'rollup-plugin-node-polyfills/polyfills/url', + string_decoder: 'rollup-plugin-node-polyfills/polyfills/string-decoder', + http: 'rollup-plugin-node-polyfills/polyfills/http', + https: 'rollup-plugin-node-polyfills/polyfills/http', + os: 'rollup-plugin-node-polyfills/polyfills/os', + assert: 'rollup-plugin-node-polyfills/polyfills/assert', + constants: 'rollup-plugin-node-polyfills/polyfills/constants', + _stream_duplex: 'rollup-plugin-node-polyfills/polyfills/readable-stream/duplex', + _stream_passthrough: 'rollup-plugin-node-polyfills/polyfills/readable-stream/passthrough', + _stream_readable: 'rollup-plugin-node-polyfills/polyfills/readable-stream/readable', + _stream_writable: 'rollup-plugin-node-polyfills/polyfills/readable-stream/writable', + _stream_transform: 'rollup-plugin-node-polyfills/polyfills/readable-stream/transform', + timers: 'rollup-plugin-node-polyfills/polyfills/timers', + console: 'rollup-plugin-node-polyfills/polyfills/console', + vm: 'rollup-plugin-node-polyfills/polyfills/vm', + zlib: 'rollup-plugin-node-polyfills/polyfills/zlib', + tty: 'rollup-plugin-node-polyfills/polyfills/tty', + domain: 'rollup-plugin-node-polyfills/polyfills/domain', + buffer: 'rollup-plugin-node-polyfills/polyfills/buffer-es6', + process: 'rollup-plugin-node-polyfills/polyfills/process-es6', + + // Buffer: 'buffer/', + // process: 'rollup-plugin-node-globals', +}; diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts new file mode 100644 index 0000000..5a07f3f --- /dev/null +++ b/frontend/vite.config.ts @@ -0,0 +1,349 @@ +import { fileURLToPath, URL } from 'node:url'; +import { defineConfig, optimizeDeps } from 'vite'; +import vue from '@vitejs/plugin-vue'; +import vueJsx from '@vitejs/plugin-vue-jsx'; +import { esbuildCommonjs, viteCommonjs } from '@originjs/vite-plugin-commonjs'; + +import { NodeGlobalsPolyfillPlugin } from '@esbuild-plugins/node-globals-polyfill'; +import { NodeModulesPolyfillPlugin } from '@esbuild-plugins/node-modules-polyfill'; + +import { Plugin } from 'rollup'; + +import { splitVendorChunkPlugin } from 'vite'; +import rollupNodePolyfills from 'rollup-plugin-node-polyfills'; +import viteNodePolyfills from 'vite-plugin-node-stdlib-browser'; +import { nodeResolve as rollupNodeResolve } from '@rollup/plugin-node-resolve'; +import rollupCommonjs from '@rollup/plugin-commonjs'; +import terser from '@rollup/plugin-terser'; +import compiler from '@ampproject/rollup-plugin-closure-compiler'; +import { babel, getBabelOutputPlugin } from '@rollup/plugin-babel'; +import legacy from '@vitejs/plugin-legacy'; +import uglify from '@lopatnov/rollup-plugin-uglify'; +import { obfuscator } from 'rollup-obfuscator'; +import { chunkSplitPlugin } from 'vite-plugin-chunk-split'; + +import { dependencies } from './package.json'; +import polyfillAliases from './vite-polyfill-aliases'; +import { resolve } from 'node:path'; + +export function injectSecPlugin(mode) { + return ['production', 'live'].indexOf(mode) !== -1 ? secPlugins : []; +} +export const secPlugins: Plugin[] = [ + // NOT WORK. + // babel({ + // babelHelpers: 'bundled', + // presets: [[ + // "@babel/preset-env", + // { + // "corejs": "3.22", + // "useBuiltIns": "entry",//"usage", + // "targets": { + // "ie": "11" + // } + // } + // ]], + // }), + + // terser({ + // parse: {}, + // // compress: { + // // dead_code: true, + // // keep_fnames: false, + // // }, + + // // mangle: { + // // keep_fnames: false, + // // properties: { + // // builtins: false, + // // // keep_quoted: false, + // // // nth_identifier: , + // // // reserved: [ + // // // '_mergeNamespaces', + // // // 'polyfill', + // // // 'class', 'alt', 'src', 'href', 'target', "value", "type", "onClick" + // // // ], + // // // regex: /^(T*Protocol|T*Transport|T*Error|transport|*Exception|write*|read*|skip|*Zigzag|zigzag*|VERSION*|TYPE*|COMPACT*|HEADER*|FLAG*|TINFO*|MAX*|Varint*|varint*|CT_*|*TType|flush)$/, + // // // regex: /(thrift|Thrift|Protocol|Transport|Error|transport|Exception|write|read|skip|zigzag|VERSION|TYPE|COMPACT|HEADER|FLAG|TINFO|MAX|Varint|varint|CT|TType|flush)/, + // // }, + // // }, + + // mangle: { + // keep_classnames: true, + // keep_fnames: true, + // properties: { + // keep_quoted: true, + // // builtins: false, + // // ||SET|LIST|||I64| + // // regex: /(^_|^is|eject|esolve|set|next|query|create|STRING|UTF7|UTF8|UTF16|DOUBLE|Error|error|dir|MAP|STOP|VOID|thrift|PROTOCOL|METHOD|method|UNKNOWN|TRANSFORM|VALID|SEQUENCE|RESULT|ERROR|CALL|REPLY|stack|field|Field|ONEWAY|EXCEPTION|client|Client|Type|socket|watch|mount|install|comp|emit|prop|destroy|Recv|Send|service|Service|Thrift|Protocol|Transport|transport|protocol|output|Error|transport|Exception|write|read|skip|zigzag|VERSION|TYPE|COMPACT|HEADER|FLAG|TINFO|MAX|Varint|varint|CT|TType|trans|call|url|xhr|XHR|header|log|before|after|update|insert|console|read|write|flush)/, + // regex: new RegExp( + // [ + // // var prefixed with underscore + // '^_', + + // // thrift words + // ...( + // '' + + // // 'Thrift|thrift|Field|^field|Protocol|Transport|Connection|Client|Protocol|Service|Type|Error|Exception|' + + // // // 'Recv|recv|Send|send|'+ + // // 'write|read|Socket|socket|trans|prot|rotoco|tack|ervice|Trans|' + + // // 'CALL|REPLY|ONEWAY|VALID|^UNK|BAD_|IMPL|_LIMIT|SIZE_|EXCEPTION|RESULT|ERROR|TRANSFORM|PROTOCOL|VERSION|TYPE|CT|TType|METHOD|' + + // // '^STOP|^VOID|^STRING|^LIST|^MAP|^SET|^UTF7|^UTF8|^UTF16|^DOUBLE|^I64|^I32|^I16|^BOOL|^BYTE|^I08|' + + // // 'headers|igzag|^xhr|^XHR|^flush' + + // '' + // ) + // .split('|') + // .map((x) => x.trim()) + // .filter((x) => x != ''), + // ].join('|'), + // '', + // ), + // }, + // // eval: true, + // // module: true, + // // toplevel: true, + // // safari10: true, + + // // properties: false, + // }, + // format: { + // comments: 'some', + // }, + // }), + + // compiler({ + // // https://github.com/google/closure-compiler/wiki/Flags-and-Options + // // https://github.com/google/closure-compiler/blob/5707cfe4fa3be9cfe9b2f713a47f0080b08c57cb/src/com/google/javascript/jscomp/parsing/ParserRunner.java#L176 + // // compilation_level: 'ADVANCED', + // // warning_level: 'VERBOSE', + // // language_in: 'ECMASCRIPT_NEXT', + // // language_in: 'STABLE', + + // // current workaround, modify renderChunk preCompileOutput. + // // ConstTransform pre + // // LiteralComputedKeys post + // language_in: 'unstable', + // // language_out: 'ECMASCRIPT_NEXT', + // jscomp_off: ['undefinedVars'], + // }), + + obfuscator({ + compact: true, + forceTransformStrings: Array.from( + new Set([ + 'thrift', + 'Thrift', + 'vite', + 'Vite', + 'vue', + 'Vue', + ...Object.keys(dependencies) + .map((x) => x.replace('@', '-').replace('/', '-')) + .map((x) => x.split('-')) + .flat() + .filter((x) => x != ''), + ]), + ), + splitStrings: true, + stringArray: true, + // stringArrayEncoding: ['base64', 'none'], // 'rc4', + stringArrayThreshold: 0.8, + // stringArrayIndexShift: true, + // stringArrayWrappersChainedCalls: true, + // stringArrayRotate: true, + + // stringArrayCallsTransform: true, + selfDefending: false, + + // controlFlowFlattening: true, + // controlFlowFlatteningThreshold: 0.8, + // transformObjectKeys: true, + + renameGlobals: false, + + // BROKEN! + // renameProperties: true, + // renamePropertiesMode: 'safe', + }), + + terser({ + compress: { + reduce_funcs: true, + reduce_vars: true, + }, + mangle: { + properties: { + // builtins: false, + keep_quoted: true, + regex: /^_/, // obfuscator underscore variable + }, + eval: true, + module: true, + toplevel: true, + safari10: true, + }, + format: { + comments: 'some', + }, + }), +]; + +// https://vitejs.dev/config/ + +export default defineConfig(({ command, mode, ssrBuild }) => { + return { + plugins: [viteCommonjs(), vue(), vueJsx()], + resolve: { + alias: { + '@': fileURLToPath(new URL('./src', import.meta.url)), + '@thriftgen': fileURLToPath(new URL('./gen', import.meta.url)), + + ...polyfillAliases, + }, + }, + define: { + global: 'window', + }, + optimizeDeps: { + esbuildOptions: { + define: { global: 'globalThis' }, + plugins: [ + NodeGlobalsPolyfillPlugin({ + process: true, + buffer: true, + }), + NodeModulesPolyfillPlugin(), + ], + }, + // exclude: ['flowbite', 'flowbite-vue', 'thrift'], + }, + build: { + outDir: '../public', + manifest: true, + minify: false, + rollupOptions: { + input: { + main: resolve(__dirname, 'index.html'), + }, + output: { + // to be able to use manual chunk - iife + // inlineDynamicImports: true, + manualChunks(id, { getModuleInfo, getModuleIds }) { + // const dynImpIds = getModuleInfo(id).dynamicImporters; + + // if (/(gen\/|thrift|Thrift|util|events|inherits|WebSocket|Int64|ws)/.test(id)) return 'ext'; + // if (/flowbite/.test(id)) return 'flowbite'; + // if (/data-table/.test(id)) return 'edt'; + // if (/scrollbar/.test(id)) return 'scrollbar'; + // if (/(node_modules)/.test(id)) return 'vendor'; + + // if (id in dependencies) { + // return 'vendor'; + // } + }, + }, + plugins: [ + rollupNodePolyfills(), + rollupNodeResolve(), + rollupCommonjs({}), + esbuildCommonjs(['thrift']), + ], + }, + }, + }; +}); + +export const x = defineConfig(({ command, mode, ssrBuild }) => { + return { + plugins: [viteNodePolyfills(), viteCommonjs(), vue(), vueJsx()], + resolve: { + alias: { + '@': fileURLToPath(new URL('./src', import.meta.url)), + '@thriftgen': fileURLToPath(new URL('./gen', import.meta.url)), + // '@flowbite-vue': fileURLToPath(new URL('./3rdparty/flowbite-vue/src', import.meta.url)), + + ...polyfillAliases, + }, + }, + optimizeDeps: { + esbuildOptions: { + define: { global: 'globalThis' }, + plugins: [ + NodeGlobalsPolyfillPlugin({ + process: true, + buffer: true, + }), + NodeModulesPolyfillPlugin(), + ], + }, + // include: [], + // exclude: [/@thriftgen/], + // exclude: [ + // 'flowbite', + // 'flowbite-vue', + // 'thrift', + // 'vue3-easy-data-table', + // 'vue3-perfect-scrollbar', + // ...['structs_types', 'exceptions_types', 'CoreService'].map((x) => '@thriftgen/' + x), + // ], + }, + build: { + outDir: '../public', + manifest: true, + // minify: 'terser', + minify: false, + + // target: 'esnext', + + rollupOptions: { + // input: { + // main: resolve(__dirname, 'index.html'), + // }, + // output: { + // // format: 'iife', + // // format: 'cjs', + // globals: { + // // vue: "Vue" + // }, + + // // to be able to use manual chunk - iife + // // inlineDynamicImports: true, + // // manualChunks(id, { getModuleInfo, getModuleIds }) { + // // // if (/(gen\/|thrift|Thrift|util|inherits|WebSocket|Int64)/.test(id)) return 'ext'; + // // // const dynImpIds = getModuleInfo(id).dynamicImporters; + // // if (/data-table/.test(id)) return 'edt'; + // // if (/(node_modules)/.test(id)) return 'vendor'; + // // // if (id in dependencies) { + // // // return 'vendor'; + // // // } + // // }, + // }, + external: [ + // "vue", + ], + plugins: [ + // chunkSplitPlugin({ + // strategy: 'single-vendor', + // customSplitting: { + // 'thrift-vendor': ['thrift'], + // 'flowbite-vendor': ['flowbite'], + // }, + // }), + + // splitVendorChunkPlugin(), + rollupNodePolyfills(), + rollupNodeResolve(), + rollupCommonjs({}), + esbuildCommonjs(['thrift']), + + // NOT WORK. + // ...legacy({ + // targets: ['defaults', 'IE 11'], + // }), + + ...injectSecPlugin(mode), + ], + }, + }, + }; +}); diff --git a/frontend/vite.config.ts.timestamp-1668343269206.mjs b/frontend/vite.config.ts.timestamp-1668343269206.mjs new file mode 100644 index 0000000..17e81ac --- /dev/null +++ b/frontend/vite.config.ts.timestamp-1668343269206.mjs @@ -0,0 +1,166 @@ +// vite.config.ts +import { fileURLToPath, URL } from "node:url"; +import { defineConfig } from "file:///mnt/e/Data_HDD_External/__KULIAH/SMT5/06_Workshop_App_Web/UAS/frontend/node_modules/.pnpm/vite@3.2.2_terser@5.15.1/node_modules/vite/dist/node/index.js"; +import vue from "file:///mnt/e/Data_HDD_External/__KULIAH/SMT5/06_Workshop_App_Web/UAS/frontend/node_modules/.pnpm/@vitejs+plugin-vue@3.2.0_vite@3.2.2+vue@3.2.41/node_modules/@vitejs/plugin-vue/dist/index.mjs"; +import vueJsx from "file:///mnt/e/Data_HDD_External/__KULIAH/SMT5/06_Workshop_App_Web/UAS/frontend/node_modules/.pnpm/@vitejs+plugin-vue-jsx@2.1.0_vite@3.2.2+vue@3.2.41/node_modules/@vitejs/plugin-vue-jsx/dist/index.mjs"; +import { esbuildCommonjs, viteCommonjs } from "file:///mnt/e/Data_HDD_External/__KULIAH/SMT5/06_Workshop_App_Web/UAS/frontend/node_modules/.pnpm/@originjs+vite-plugin-commonjs@1.0.3/node_modules/@originjs/vite-plugin-commonjs/lib/index.js"; +import { NodeGlobalsPolyfillPlugin } from "file:///mnt/e/Data_HDD_External/__KULIAH/SMT5/06_Workshop_App_Web/UAS/frontend/node_modules/.pnpm/@esbuild-plugins+node-globals-polyfill@0.1.1_esbuild@0.15.13/node_modules/@esbuild-plugins/node-globals-polyfill/dist/index.js"; +import { NodeModulesPolyfillPlugin } from "file:///mnt/e/Data_HDD_External/__KULIAH/SMT5/06_Workshop_App_Web/UAS/frontend/node_modules/.pnpm/@esbuild-plugins+node-modules-polyfill@0.1.4_esbuild@0.15.13/node_modules/@esbuild-plugins/node-modules-polyfill/dist/index.js"; +import { splitVendorChunkPlugin } from "file:///mnt/e/Data_HDD_External/__KULIAH/SMT5/06_Workshop_App_Web/UAS/frontend/node_modules/.pnpm/vite@3.2.2_terser@5.15.1/node_modules/vite/dist/node/index.js"; +import nodePolyfills from "file:///mnt/e/Data_HDD_External/__KULIAH/SMT5/06_Workshop_App_Web/UAS/frontend/node_modules/.pnpm/rollup-plugin-node-polyfills@0.2.1/node_modules/rollup-plugin-node-polyfills/dist/index.js"; +import { nodeResolve } from "file:///mnt/e/Data_HDD_External/__KULIAH/SMT5/06_Workshop_App_Web/UAS/frontend/node_modules/.pnpm/@rollup+plugin-node-resolve@13.3.0_rollup@2.79.1/node_modules/@rollup/plugin-node-resolve/dist/es/index.js"; +import commonjs from "file:///mnt/e/Data_HDD_External/__KULIAH/SMT5/06_Workshop_App_Web/UAS/frontend/node_modules/.pnpm/@rollup+plugin-commonjs@22.0.2_rollup@2.79.1/node_modules/@rollup/plugin-commonjs/dist/es/index.js"; +import terser from "file:///mnt/e/Data_HDD_External/__KULIAH/SMT5/06_Workshop_App_Web/UAS/frontend/node_modules/.pnpm/@rollup+plugin-terser@0.1.0_rollup@2.79.1/node_modules/@rollup/plugin-terser/dist/es/index.js"; +import { obfuscator } from "file:///mnt/e/Data_HDD_External/__KULIAH/SMT5/06_Workshop_App_Web/UAS/frontend/node_modules/.pnpm/rollup-obfuscator@3.0.1/node_modules/rollup-obfuscator/dist/index.mjs"; + +// package.json +var dependencies = { + "@algolia/client-search": "^4.14.2", + "@heroicons/vue": "^2.0.13", + "@vueuse/core": "^9.4.0", + classnames: "^2.3.2", + flowbite: "1.5.0", + "flowbite-vue": "^0.0.6", + pinia: "^2.0.23", + thrift: "^0.16.0", + vue: "^3.2.41", + "vue-router": "^4.1.6", + "vue3-easy-data-table": "^1.5.12", + "vue3-perfect-scrollbar": "^1.6.1" +}; + +// vite-polyfill-aliases.ts +var vite_polyfill_aliases_default = { + util: "rollup-plugin-node-polyfills/polyfills/util", + sys: "util", + events: "rollup-plugin-node-polyfills/polyfills/events", + stream: "rollup-plugin-node-polyfills/polyfills/stream", + path: "rollup-plugin-node-polyfills/polyfills/path", + querystring: "rollup-plugin-node-polyfills/polyfills/qs", + punycode: "rollup-plugin-node-polyfills/polyfills/punycode", + url: "rollup-plugin-node-polyfills/polyfills/url", + string_decoder: "rollup-plugin-node-polyfills/polyfills/string-decoder", + http: "rollup-plugin-node-polyfills/polyfills/http", + https: "rollup-plugin-node-polyfills/polyfills/http", + os: "rollup-plugin-node-polyfills/polyfills/os", + assert: "rollup-plugin-node-polyfills/polyfills/assert", + constants: "rollup-plugin-node-polyfills/polyfills/constants", + _stream_duplex: "rollup-plugin-node-polyfills/polyfills/readable-stream/duplex", + _stream_passthrough: "rollup-plugin-node-polyfills/polyfills/readable-stream/passthrough", + _stream_readable: "rollup-plugin-node-polyfills/polyfills/readable-stream/readable", + _stream_writable: "rollup-plugin-node-polyfills/polyfills/readable-stream/writable", + _stream_transform: "rollup-plugin-node-polyfills/polyfills/readable-stream/transform", + timers: "rollup-plugin-node-polyfills/polyfills/timers", + console: "rollup-plugin-node-polyfills/polyfills/console", + vm: "rollup-plugin-node-polyfills/polyfills/vm", + zlib: "rollup-plugin-node-polyfills/polyfills/zlib", + tty: "rollup-plugin-node-polyfills/polyfills/tty", + domain: "rollup-plugin-node-polyfills/polyfills/domain", + buffer: "rollup-plugin-node-polyfills/polyfills/buffer-es6", + process: "rollup-plugin-node-polyfills/polyfills/process-es6" +}; + +// vite.config.ts +import { resolve } from "node:path"; +var __vite_injected_original_dirname = "/mnt/e/Data_HDD_External/__KULIAH/SMT5/06_Workshop_App_Web/UAS/frontend"; +var __vite_injected_original_import_meta_url = "file:///mnt/e/Data_HDD_External/__KULIAH/SMT5/06_Workshop_App_Web/UAS/frontend/vite.config.ts"; +function injectSecPlugin(mode) { + return ["production", "live"].indexOf(mode) !== -1 ? secPlugins : []; +} +var secPlugins = [ + obfuscator({ + compact: true, + forceTransformStrings: Array.from( + /* @__PURE__ */ new Set([ + "thrift", + "Thrift", + "vite", + "Vite", + "vue", + "Vue", + ...Object.keys(dependencies).map((x) => x.replace("@", "-").replace("/", "-")).map((x) => x.split("-")).flat().filter((x) => x != "") + ]) + ), + splitStrings: true, + stringArray: true, + stringArrayThreshold: 0.8, + selfDefending: false, + renameGlobals: false + }), + terser({ + compress: { + reduce_funcs: true, + reduce_vars: true + }, + mangle: { + properties: { + keep_quoted: true, + regex: /^_/ + }, + eval: true, + module: true, + toplevel: true, + safari10: true + }, + format: { + comments: "some" + } + }) +]; +var vite_config_default = defineConfig(({ command, mode, ssrBuild }) => { + return { + plugins: [viteCommonjs(), vue(), vueJsx()], + resolve: { + alias: { + "@": fileURLToPath(new URL("./src", __vite_injected_original_import_meta_url)), + "@thriftgen": fileURLToPath(new URL("./gen", __vite_injected_original_import_meta_url)), + ...vite_polyfill_aliases_default + } + }, + optimizeDeps: { + esbuildOptions: { + define: { global: "globalThis" }, + plugins: [ + NodeGlobalsPolyfillPlugin({ + process: true, + buffer: true + }), + NodeModulesPolyfillPlugin() + ] + } + }, + build: { + outDir: "../public", + manifest: true, + minify: false, + target: "esnext", + rollupOptions: { + input: { + main: resolve(__vite_injected_original_dirname, "index.html") + }, + output: { + globals: {}, + manualChunks(id, { getModuleInfo, getModuleIds }) { + if (/(node_modules)/.test(id)) + return "vendor"; + } + }, + external: [], + plugins: [ + splitVendorChunkPlugin(), + nodePolyfills(), + nodeResolve(), + commonjs({}), + esbuildCommonjs(["thrift"]), + ...injectSecPlugin(mode) + ] + } + } + }; +}); +export { + vite_config_default as default, + injectSecPlugin, + secPlugins +}; +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiLCAidml0ZS1wb2x5ZmlsbC1hbGlhc2VzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiL21udC9lL0RhdGFfSEREX0V4dGVybmFsL19fS1VMSUFIL1NNVDUvMDZfV29ya3Nob3BfQXBwX1dlYi9VQVMvZnJvbnRlbmRcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIi9tbnQvZS9EYXRhX0hERF9FeHRlcm5hbC9fX0tVTElBSC9TTVQ1LzA2X1dvcmtzaG9wX0FwcF9XZWIvVUFTL2Zyb250ZW5kL3ZpdGUuY29uZmlnLnRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9tbnQvZS9EYXRhX0hERF9FeHRlcm5hbC9fX0tVTElBSC9TTVQ1LzA2X1dvcmtzaG9wX0FwcF9XZWIvVUFTL2Zyb250ZW5kL3ZpdGUuY29uZmlnLnRzXCI7aW1wb3J0IHsgZmlsZVVSTFRvUGF0aCwgVVJMIH0gZnJvbSAnbm9kZTp1cmwnO1xuaW1wb3J0IHsgZGVmaW5lQ29uZmlnLCBvcHRpbWl6ZURlcHMgfSBmcm9tICd2aXRlJztcbmltcG9ydCB2dWUgZnJvbSAnQHZpdGVqcy9wbHVnaW4tdnVlJztcbmltcG9ydCB2dWVKc3ggZnJvbSAnQHZpdGVqcy9wbHVnaW4tdnVlLWpzeCc7XG5pbXBvcnQgeyBlc2J1aWxkQ29tbW9uanMsIHZpdGVDb21tb25qcyB9IGZyb20gJ0BvcmlnaW5qcy92aXRlLXBsdWdpbi1jb21tb25qcyc7XG5cbmltcG9ydCB7IE5vZGVHbG9iYWxzUG9seWZpbGxQbHVnaW4gfSBmcm9tICdAZXNidWlsZC1wbHVnaW5zL25vZGUtZ2xvYmFscy1wb2x5ZmlsbCc7XG5pbXBvcnQgeyBOb2RlTW9kdWxlc1BvbHlmaWxsUGx1Z2luIH0gZnJvbSAnQGVzYnVpbGQtcGx1Z2lucy9ub2RlLW1vZHVsZXMtcG9seWZpbGwnO1xuXG5pbXBvcnQgeyBQbHVnaW4gfSBmcm9tICdyb2xsdXAnO1xuXG5pbXBvcnQgeyBzcGxpdFZlbmRvckNodW5rUGx1Z2luIH0gZnJvbSAndml0ZSc7XG5pbXBvcnQgbm9kZVBvbHlmaWxscyBmcm9tICdyb2xsdXAtcGx1Z2luLW5vZGUtcG9seWZpbGxzJztcbmltcG9ydCB7IG5vZGVSZXNvbHZlIH0gZnJvbSAnQHJvbGx1cC9wbHVnaW4tbm9kZS1yZXNvbHZlJztcbmltcG9ydCBjb21tb25qcyBmcm9tICdAcm9sbHVwL3BsdWdpbi1jb21tb25qcyc7XG5pbXBvcnQgdGVyc2VyIGZyb20gJ0Byb2xsdXAvcGx1Z2luLXRlcnNlcic7XG5pbXBvcnQgY29tcGlsZXIgZnJvbSAnQGFtcHByb2plY3Qvcm9sbHVwLXBsdWdpbi1jbG9zdXJlLWNvbXBpbGVyJztcbmltcG9ydCB7IGJhYmVsLCBnZXRCYWJlbE91dHB1dFBsdWdpbiB9IGZyb20gJ0Byb2xsdXAvcGx1Z2luLWJhYmVsJztcbmltcG9ydCBsZWdhY3kgZnJvbSAnQHZpdGVqcy9wbHVnaW4tbGVnYWN5JztcbmltcG9ydCB1Z2xpZnkgZnJvbSAnQGxvcGF0bm92L3JvbGx1cC1wbHVnaW4tdWdsaWZ5JztcbmltcG9ydCB7IG9iZnVzY2F0b3IgfSBmcm9tICdyb2xsdXAtb2JmdXNjYXRvcic7XG5pbXBvcnQgeyBjaHVua1NwbGl0UGx1Z2luIH0gZnJvbSAndml0ZS1wbHVnaW4tY2h1bmstc3BsaXQnO1xuXG5pbXBvcnQgeyBkZXBlbmRlbmNpZXMgfSBmcm9tICcuL3BhY2thZ2UuanNvbic7XG5pbXBvcnQgcG9seWZpbGxBbGlhc2VzIGZyb20gJy4vdml0ZS1wb2x5ZmlsbC1hbGlhc2VzJztcbmltcG9ydCB7IHJlc29sdmUgfSBmcm9tICdub2RlOnBhdGgnO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0U2VjUGx1Z2luKG1vZGUpIHtcbiAgcmV0dXJuIFsncHJvZHVjdGlvbicsICdsaXZlJ10uaW5kZXhPZihtb2RlKSAhPT0gLTEgPyBzZWNQbHVnaW5zIDogW107XG59XG5leHBvcnQgY29uc3Qgc2VjUGx1Z2luczogUGx1Z2luW10gPSBbXG4gIC8vIE5PVCBXT1JLLlxuICAvLyBiYWJlbCh7XG4gIC8vICAgYmFiZWxIZWxwZXJzOiAnYnVuZGxlZCcsXG4gIC8vICAgcHJlc2V0czogW1tcbiAgLy8gICAgIFwiQGJhYmVsL3ByZXNldC1lbnZcIixcbiAgLy8gICAgIHtcbiAgLy8gICAgICAgXCJjb3JlanNcIjogXCIzLjIyXCIsXG4gIC8vICAgICAgIFwidXNlQnVpbHRJbnNcIjogXCJlbnRyeVwiLC8vXCJ1c2FnZVwiLFxuICAvLyAgICAgICBcInRhcmdldHNcIjoge1xuICAvLyAgICAgICAgIFwiaWVcIjogXCIxMVwiXG4gIC8vICAgICAgIH1cbiAgLy8gICAgIH1cbiAgLy8gICBdXSxcbiAgLy8gfSksXG5cbiAgLy8gdGVyc2VyKHtcbiAgLy8gICBwYXJzZToge30sXG4gIC8vICAgLy8gY29tcHJlc3M6IHtcbiAgLy8gICAvLyAgIGRlYWRfY29kZTogdHJ1ZSxcbiAgLy8gICAvLyAgIGtlZXBfZm5hbWVzOiBmYWxzZSxcbiAgLy8gICAvLyB9LFxuXG4gIC8vICAgLy8gbWFuZ2xlOiB7XG4gIC8vICAgLy8gICBrZWVwX2ZuYW1lczogZmFsc2UsXG4gIC8vICAgLy8gICBwcm9wZXJ0aWVzOiB7XG4gIC8vICAgLy8gICAgIGJ1aWx0aW5zOiBmYWxzZSxcbiAgLy8gICAvLyAgICAgLy8ga2VlcF9xdW90ZWQ6IGZhbHNlLFxuICAvLyAgIC8vICAgICAvLyBudGhfaWRlbnRpZmllcjogLFxuICAvLyAgIC8vICAgICAvLyByZXNlcnZlZDogW1xuICAvLyAgIC8vICAgICAvLyAgICdfbWVyZ2VOYW1lc3BhY2VzJyxcbiAgLy8gICAvLyAgICAgLy8gICAncG9seWZpbGwnLFxuICAvLyAgIC8vICAgICAvLyAgICdjbGFzcycsICdhbHQnLCAnc3JjJywgJ2hyZWYnLCAndGFyZ2V0JywgXCJ2YWx1ZVwiLCBcInR5cGVcIiwgXCJvbkNsaWNrXCJcbiAgLy8gICAvLyAgICAgLy8gXSxcbiAgLy8gICAvLyAgICAgLy8gcmVnZXg6IC9eKFQqUHJvdG9jb2x8VCpUcmFuc3BvcnR8VCpFcnJvcnx0cmFuc3BvcnR8KkV4Y2VwdGlvbnx3cml0ZSp8cmVhZCp8c2tpcHwqWmlnemFnfHppZ3phZyp8VkVSU0lPTip8VFlQRSp8Q09NUEFDVCp8SEVBREVSKnxGTEFHKnxUSU5GTyp8TUFYKnxWYXJpbnQqfHZhcmludCp8Q1RfKnwqVFR5cGV8Zmx1c2gpJC8sXG4gIC8vICAgLy8gICAgIC8vIHJlZ2V4OiAvKHRocmlmdHxUaHJpZnR8UHJvdG9jb2x8VHJhbnNwb3J0fEVycm9yfHRyYW5zcG9ydHxFeGNlcHRpb258d3JpdGV8cmVhZHxza2lwfHppZ3phZ3xWRVJTSU9OfFRZUEV8Q09NUEFDVHxIRUFERVJ8RkxBR3xUSU5GT3xNQVh8VmFyaW50fHZhcmludHxDVHxUVHlwZXxmbHVzaCkvLFxuICAvLyAgIC8vICAgfSxcbiAgLy8gICAvLyB9LFxuXG4gIC8vICAgbWFuZ2xlOiB7XG4gIC8vICAgICBrZWVwX2NsYXNzbmFtZXM6IHRydWUsXG4gIC8vICAgICBrZWVwX2ZuYW1lczogdHJ1ZSxcbiAgLy8gICAgIHByb3BlcnRpZXM6IHtcbiAgLy8gICAgICAga2VlcF9xdW90ZWQ6IHRydWUsXG4gIC8vICAgICAgIC8vIGJ1aWx0aW5zOiBmYWxzZSxcbiAgLy8gICAgICAgLy8gfHxTRVR8TElTVHx8fEk2NHxcbiAgLy8gICAgICAgLy8gcmVnZXg6IC8oXl98XmlzfGVqZWN0fGVzb2x2ZXxzZXR8bmV4dHxxdWVyeXxjcmVhdGV8U1RSSU5HfFVURjd8VVRGOHxVVEYxNnxET1VCTEV8RXJyb3J8ZXJyb3J8ZGlyfE1BUHxTVE9QfFZPSUR8dGhyaWZ0fFBST1RPQ09MfE1FVEhPRHxtZXRob2R8VU5LTk9XTnxUUkFOU0ZPUk18VkFMSUR8U0VRVUVOQ0V8UkVTVUxUfEVSUk9SfENBTEx8UkVQTFl8c3RhY2t8ZmllbGR8RmllbGR8T05FV0FZfEVYQ0VQVElPTnxjbGllbnR8Q2xpZW50fFR5cGV8c29ja2V0fHdhdGNofG1vdW50fGluc3RhbGx8Y29tcHxlbWl0fHByb3B8ZGVzdHJveXxSZWN2fFNlbmR8c2VydmljZXxTZXJ2aWNlfFRocmlmdHxQcm90b2NvbHxUcmFuc3BvcnR8dHJhbnNwb3J0fHByb3RvY29sfG91dHB1dHxFcnJvcnx0cmFuc3BvcnR8RXhjZXB0aW9ufHdyaXRlfHJlYWR8c2tpcHx6aWd6YWd8VkVSU0lPTnxUWVBFfENPTVBBQ1R8SEVBREVSfEZMQUd8VElORk98TUFYfFZhcmludHx2YXJpbnR8Q1R8VFR5cGV8dHJhbnN8Y2FsbHx1cmx8eGhyfFhIUnxoZWFkZXJ8bG9nfGJlZm9yZXxhZnRlcnx1cGRhdGV8aW5zZXJ0fGNvbnNvbGV8cmVhZHx3cml0ZXxmbHVzaCkvLFxuICAvLyAgICAgICByZWdleDogbmV3IFJlZ0V4cChcbiAgLy8gICAgICAgICBbXG4gIC8vICAgICAgICAgICAvLyB2YXIgcHJlZml4ZWQgd2l0aCB1bmRlcnNjb3JlXG4gIC8vICAgICAgICAgICAnXl8nLFxuXG4gIC8vICAgICAgICAgICAvLyB0aHJpZnQgd29yZHNcbiAgLy8gICAgICAgICAgIC4uLihcbiAgLy8gICAgICAgICAgICAgJycgK1xuICAvLyAgICAgICAgICAgICAvLyAnVGhyaWZ0fHRocmlmdHxGaWVsZHxeZmllbGR8UHJvdG9jb2x8VHJhbnNwb3J0fENvbm5lY3Rpb258Q2xpZW50fFByb3RvY29sfFNlcnZpY2V8VHlwZXxFcnJvcnxFeGNlcHRpb258JyArXG4gIC8vICAgICAgICAgICAgIC8vIC8vICdSZWN2fHJlY3Z8U2VuZHxzZW5kfCcrXG4gIC8vICAgICAgICAgICAgIC8vICd3cml0ZXxyZWFkfFNvY2tldHxzb2NrZXR8dHJhbnN8cHJvdHxyb3RvY298dGFja3xlcnZpY2V8VHJhbnN8JyArXG4gIC8vICAgICAgICAgICAgIC8vICdDQUxMfFJFUExZfE9ORVdBWXxWQUxJRHxeVU5LfEJBRF98SU1QTHxfTElNSVR8U0laRV98RVhDRVBUSU9OfFJFU1VMVHxFUlJPUnxUUkFOU0ZPUk18UFJPVE9DT0x8VkVSU0lPTnxUWVBFfENUfFRUeXBlfE1FVEhPRHwnICtcbiAgLy8gICAgICAgICAgICAgLy8gJ15TVE9QfF5WT0lEfF5TVFJJTkd8XkxJU1R8Xk1BUHxeU0VUfF5VVEY3fF5VVEY4fF5VVEYxNnxeRE9VQkxFfF5JNjR8XkkzMnxeSTE2fF5CT09MfF5CWVRFfF5JMDh8JyArXG4gIC8vICAgICAgICAgICAgIC8vICdoZWFkZXJzfGlnemFnfF54aHJ8XlhIUnxeZmx1c2gnICtcbiAgLy8gICAgICAgICAgICAgJydcbiAgLy8gICAgICAgICAgIClcbiAgLy8gICAgICAgICAgICAgLnNwbGl0KCd8JylcbiAgLy8gICAgICAgICAgICAgLm1hcCgoeCkgPT4geC50cmltKCkpXG4gIC8vICAgICAgICAgICAgIC5maWx0ZXIoKHgpID0+IHggIT0gJycpLFxuICAvLyAgICAgICAgIF0uam9pbignfCcpLFxuICAvLyAgICAgICAgICcnLFxuICAvLyAgICAgICApLFxuICAvLyAgICAgfSxcbiAgLy8gICAgIC8vIGV2YWw6IHRydWUsXG4gIC8vICAgICAvLyBtb2R1bGU6IHRydWUsXG4gIC8vICAgICAvLyB0b3BsZXZlbDogdHJ1ZSxcbiAgLy8gICAgIC8vIHNhZmFyaTEwOiB0cnVlLFxuXG4gIC8vICAgICAvLyBwcm9wZXJ0aWVzOiBmYWxzZSxcbiAgLy8gICB9LFxuICAvLyAgIGZvcm1hdDoge1xuICAvLyAgICAgY29tbWVudHM6ICdzb21lJyxcbiAgLy8gICB9LFxuICAvLyB9KSxcblxuICAvLyBjb21waWxlcih7XG4gIC8vICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9jbG9zdXJlLWNvbXBpbGVyL3dpa2kvRmxhZ3MtYW5kLU9wdGlvbnNcbiAgLy8gICAvLyBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL2Nsb3N1cmUtY29tcGlsZXIvYmxvYi81NzA3Y2ZlNGZhM2JlOWNmZTliMmY3MTNhNDdmMDA4MGIwOGM1N2NiL3NyYy9jb20vZ29vZ2xlL2phdmFzY3JpcHQvanNjb21wL3BhcnNpbmcvUGFyc2VyUnVubmVyLmphdmEjTDE3NlxuICAvLyAgIC8vIGNvbXBpbGF0aW9uX2xldmVsOiAnQURWQU5DRUQnLFxuICAvLyAgIC8vIHdhcm5pbmdfbGV2ZWw6ICdWRVJCT1NFJyxcbiAgLy8gICAvLyBsYW5ndWFnZV9pbjogJ0VDTUFTQ1JJUFRfTkVYVCcsXG4gIC8vICAgLy8gbGFuZ3VhZ2VfaW46ICdTVEFCTEUnLFxuXG4gIC8vICAgLy8gY3VycmVudCB3b3JrYXJvdW5kLCBtb2RpZnkgcmVuZGVyQ2h1bmsgcHJlQ29tcGlsZU91dHB1dC5cbiAgLy8gICAvLyBDb25zdFRyYW5zZm9ybSBwcmVcbiAgLy8gICAvLyBMaXRlcmFsQ29tcHV0ZWRLZXlzIHBvc3RcbiAgLy8gICBsYW5ndWFnZV9pbjogJ3Vuc3RhYmxlJyxcbiAgLy8gICAvLyBsYW5ndWFnZV9vdXQ6ICdFQ01BU0NSSVBUX05FWFQnLFxuICAvLyAgIGpzY29tcF9vZmY6IFsndW5kZWZpbmVkVmFycyddLFxuICAvLyB9KSxcblxuICBvYmZ1c2NhdG9yKHtcbiAgICBjb21wYWN0OiB0cnVlLFxuICAgIGZvcmNlVHJhbnNmb3JtU3RyaW5nczogQXJyYXkuZnJvbShcbiAgICAgIG5ldyBTZXQoW1xuICAgICAgICAndGhyaWZ0JyxcbiAgICAgICAgJ1RocmlmdCcsXG4gICAgICAgICd2aXRlJyxcbiAgICAgICAgJ1ZpdGUnLFxuICAgICAgICAndnVlJyxcbiAgICAgICAgJ1Z1ZScsXG4gICAgICAgIC4uLk9iamVjdC5rZXlzKGRlcGVuZGVuY2llcylcbiAgICAgICAgICAubWFwKCh4KSA9PiB4LnJlcGxhY2UoJ0AnLCAnLScpLnJlcGxhY2UoJy8nLCAnLScpKVxuICAgICAgICAgIC5tYXAoKHgpID0+IHguc3BsaXQoJy0nKSlcbiAgICAgICAgICAuZmxhdCgpXG4gICAgICAgICAgLmZpbHRlcigoeCkgPT4geCAhPSAnJyksXG4gICAgICBdKSxcbiAgICApLFxuICAgIHNwbGl0U3RyaW5nczogdHJ1ZSxcbiAgICBzdHJpbmdBcnJheTogdHJ1ZSxcbiAgICAvLyBzdHJpbmdBcnJheUVuY29kaW5nOiBbJ2Jhc2U2NCcsICdub25lJ10sIC8vICdyYzQnLFxuICAgIHN0cmluZ0FycmF5VGhyZXNob2xkOiAwLjgsXG4gICAgLy8gc3RyaW5nQXJyYXlJbmRleFNoaWZ0OiB0cnVlLFxuICAgIC8vIHN0cmluZ0FycmF5V3JhcHBlcnNDaGFpbmVkQ2FsbHM6IHRydWUsXG4gICAgLy8gc3RyaW5nQXJyYXlSb3RhdGU6IHRydWUsXG5cbiAgICAvLyBzdHJpbmdBcnJheUNhbGxzVHJhbnNmb3JtOiB0cnVlLFxuICAgIHNlbGZEZWZlbmRpbmc6IGZhbHNlLFxuXG4gICAgLy8gY29udHJvbEZsb3dGbGF0dGVuaW5nOiB0cnVlLFxuICAgIC8vIGNvbnRyb2xGbG93RmxhdHRlbmluZ1RocmVzaG9sZDogMC44LFxuICAgIC8vIHRyYW5zZm9ybU9iamVjdEtleXM6IHRydWUsXG5cbiAgICByZW5hbWVHbG9iYWxzOiBmYWxzZSxcblxuICAgIC8vIEJST0tFTiFcbiAgICAvLyByZW5hbWVQcm9wZXJ0aWVzOiB0cnVlLFxuICAgIC8vIHJlbmFtZVByb3BlcnRpZXNNb2RlOiAnc2FmZScsXG4gIH0pLFxuXG4gIHRlcnNlcih7XG4gICAgY29tcHJlc3M6IHtcbiAgICAgIHJlZHVjZV9mdW5jczogdHJ1ZSxcbiAgICAgIHJlZHVjZV92YXJzOiB0cnVlLFxuICAgIH0sXG4gICAgbWFuZ2xlOiB7XG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIC8vIGJ1aWx0aW5zOiBmYWxzZSxcbiAgICAgICAga2VlcF9xdW90ZWQ6IHRydWUsXG4gICAgICAgIHJlZ2V4OiAvXl8vLCAvLyBvYmZ1c2NhdG9yIHVuZGVyc2NvcmUgdmFyaWFibGVcbiAgICAgIH0sXG4gICAgICBldmFsOiB0cnVlLFxuICAgICAgbW9kdWxlOiB0cnVlLFxuICAgICAgdG9wbGV2ZWw6IHRydWUsXG4gICAgICBzYWZhcmkxMDogdHJ1ZSxcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgY29tbWVudHM6ICdzb21lJyxcbiAgICB9LFxuICB9KSxcbl07XG5cbi8vIGh0dHBzOi8vdml0ZWpzLmRldi9jb25maWcvXG5leHBvcnQgZGVmYXVsdCBkZWZpbmVDb25maWcoKHsgY29tbWFuZCwgbW9kZSwgc3NyQnVpbGQgfSkgPT4ge1xuICByZXR1cm4ge1xuICAgIHBsdWdpbnM6IFt2aXRlQ29tbW9uanMoKSwgdnVlKCksIHZ1ZUpzeCgpXSxcbiAgICByZXNvbHZlOiB7XG4gICAgICBhbGlhczoge1xuICAgICAgICAnQCc6IGZpbGVVUkxUb1BhdGgobmV3IFVSTCgnLi9zcmMnLCBpbXBvcnQubWV0YS51cmwpKSxcbiAgICAgICAgJ0B0aHJpZnRnZW4nOiBmaWxlVVJMVG9QYXRoKG5ldyBVUkwoJy4vZ2VuJywgaW1wb3J0Lm1ldGEudXJsKSksXG4gICAgICAgIC8vICdAZmxvd2JpdGUtdnVlJzogZmlsZVVSTFRvUGF0aChuZXcgVVJMKCcuLzNyZHBhcnR5L2Zsb3diaXRlLXZ1ZS9zcmMnLCBpbXBvcnQubWV0YS51cmwpKSxcblxuICAgICAgICAuLi5wb2x5ZmlsbEFsaWFzZXMsXG4gICAgICB9LFxuICAgIH0sXG4gICAgb3B0aW1pemVEZXBzOiB7XG4gICAgICBlc2J1aWxkT3B0aW9uczoge1xuICAgICAgICBkZWZpbmU6IHsgZ2xvYmFsOiAnZ2xvYmFsVGhpcycgfSxcbiAgICAgICAgcGx1Z2luczogW1xuICAgICAgICAgIE5vZGVHbG9iYWxzUG9seWZpbGxQbHVnaW4oe1xuICAgICAgICAgICAgcHJvY2VzczogdHJ1ZSxcbiAgICAgICAgICAgIGJ1ZmZlcjogdHJ1ZSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBOb2RlTW9kdWxlc1BvbHlmaWxsUGx1Z2luKCksXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0sXG4gICAgYnVpbGQ6IHtcbiAgICAgIG91dERpcjogJy4uL3B1YmxpYycsXG4gICAgICBtYW5pZmVzdDogdHJ1ZSxcbiAgICAgIC8vIG1pbmlmeTogJ3RlcnNlcicsXG4gICAgICBtaW5pZnk6IGZhbHNlLFxuXG4gICAgICB0YXJnZXQ6ICdlc25leHQnLFxuXG4gICAgICByb2xsdXBPcHRpb25zOiB7XG4gICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgbWFpbjogcmVzb2x2ZShfX2Rpcm5hbWUsICdpbmRleC5odG1sJyksXG4gICAgICAgIH0sXG4gICAgICAgIG91dHB1dDoge1xuICAgICAgICAgIC8vIGZvcm1hdDogJ2lpZmUnLFxuICAgICAgICAgIC8vIGZvcm1hdDogJ2NqcycsXG4gICAgICAgICAgZ2xvYmFsczoge1xuICAgICAgICAgICAgLy8gdnVlOiBcIlZ1ZVwiXG4gICAgICAgICAgfSxcblxuICAgICAgICAgIC8vIHRvIGJlIGFibGUgdG8gdXNlIG1hbnVhbCBjaHVuayAtIGlpZmVcbiAgICAgICAgICAvLyBpbmxpbmVEeW5hbWljSW1wb3J0czogdHJ1ZSxcbiAgICAgICAgICBtYW51YWxDaHVua3MoaWQsIHsgZ2V0TW9kdWxlSW5mbywgZ2V0TW9kdWxlSWRzIH0pIHtcbiAgICAgICAgICAgIC8vIGlmICgvKGdlblxcL3x0aHJpZnR8VGhyaWZ0fHV0aWx8aW5oZXJpdHN8V2ViU29ja2V0fEludDY0KS8udGVzdChpZCkpIHJldHVybiAnZXh0JztcbiAgICAgICAgICAgIC8vIGNvbnN0IGR5bkltcElkcyA9IGdldE1vZHVsZUluZm8oaWQpLmR5bmFtaWNJbXBvcnRlcnM7XG4gICAgICAgICAgICBpZiAoLyhub2RlX21vZHVsZXMpLy50ZXN0KGlkKSkgcmV0dXJuICd2ZW5kb3InO1xuXG4gICAgICAgICAgICAvLyBpZiAoaWQgaW4gZGVwZW5kZW5jaWVzKSB7XG4gICAgICAgICAgICAvLyAgIHJldHVybiAndmVuZG9yJztcbiAgICAgICAgICAgIC8vIH1cbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBleHRlcm5hbDogW1xuICAgICAgICAgIC8vIFwidnVlXCIsXG4gICAgICAgIF0sXG4gICAgICAgIHBsdWdpbnM6IFtcbiAgICAgICAgICAvLyBjaHVua1NwbGl0UGx1Z2luKHtcbiAgICAgICAgICAvLyAgIHN0cmF0ZWd5OiAnc2luZ2xlLXZlbmRvcicsXG4gICAgICAgICAgLy8gICBjdXN0b21TcGxpdHRpbmc6IHtcbiAgICAgICAgICAvLyAgICAgJ3RocmlmdC12ZW5kb3InOiBbJ3RocmlmdCddLFxuICAgICAgICAgIC8vICAgICAnZmxvd2JpdGUtdmVuZG9yJzogWydmbG93Yml0ZSddLFxuICAgICAgICAgIC8vICAgfSxcbiAgICAgICAgICAvLyB9KSxcbiAgICAgICAgICBzcGxpdFZlbmRvckNodW5rUGx1Z2luKCksXG4gICAgICAgICAgbm9kZVBvbHlmaWxscygpLFxuICAgICAgICAgIG5vZGVSZXNvbHZlKCksXG4gICAgICAgICAgY29tbW9uanMoe30pLFxuICAgICAgICAgIGVzYnVpbGRDb21tb25qcyhbJ3RocmlmdCddKSxcblxuICAgICAgICAgIC8vIE5PVCBXT1JLLlxuICAgICAgICAgIC8vIC4uLmxlZ2FjeSh7XG4gICAgICAgICAgLy8gICB0YXJnZXRzOiBbJ2RlZmF1bHRzJywgJ0lFIDExJ10sXG4gICAgICAgICAgLy8gfSksXG5cbiAgICAgICAgICAuLi5pbmplY3RTZWNQbHVnaW4obW9kZSksXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0sXG4gIH07XG59KTtcbiIsICJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiL21udC9lL0RhdGFfSEREX0V4dGVybmFsL19fS1VMSUFIL1NNVDUvMDZfV29ya3Nob3BfQXBwX1dlYi9VQVMvZnJvbnRlbmRcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIi9tbnQvZS9EYXRhX0hERF9FeHRlcm5hbC9fX0tVTElBSC9TTVQ1LzA2X1dvcmtzaG9wX0FwcF9XZWIvVUFTL2Zyb250ZW5kL3ZpdGUtcG9seWZpbGwtYWxpYXNlcy50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vbW50L2UvRGF0YV9IRERfRXh0ZXJuYWwvX19LVUxJQUgvU01UNS8wNl9Xb3Jrc2hvcF9BcHBfV2ViL1VBUy9mcm9udGVuZC92aXRlLXBvbHlmaWxsLWFsaWFzZXMudHNcIjtleHBvcnQgZGVmYXVsdCB7XG4gIHV0aWw6ICdyb2xsdXAtcGx1Z2luLW5vZGUtcG9seWZpbGxzL3BvbHlmaWxscy91dGlsJyxcbiAgc3lzOiAndXRpbCcsXG4gIGV2ZW50czogJ3JvbGx1cC1wbHVnaW4tbm9kZS1wb2x5ZmlsbHMvcG9seWZpbGxzL2V2ZW50cycsXG4gIHN0cmVhbTogJ3JvbGx1cC1wbHVnaW4tbm9kZS1wb2x5ZmlsbHMvcG9seWZpbGxzL3N0cmVhbScsXG4gIHBhdGg6ICdyb2xsdXAtcGx1Z2luLW5vZGUtcG9seWZpbGxzL3BvbHlmaWxscy9wYXRoJyxcbiAgcXVlcnlzdHJpbmc6ICdyb2xsdXAtcGx1Z2luLW5vZGUtcG9seWZpbGxzL3BvbHlmaWxscy9xcycsXG4gIHB1bnljb2RlOiAncm9sbHVwLXBsdWdpbi1ub2RlLXBvbHlmaWxscy9wb2x5ZmlsbHMvcHVueWNvZGUnLFxuICB1cmw6ICdyb2xsdXAtcGx1Z2luLW5vZGUtcG9seWZpbGxzL3BvbHlmaWxscy91cmwnLFxuICBzdHJpbmdfZGVjb2RlcjogJ3JvbGx1cC1wbHVnaW4tbm9kZS1wb2x5ZmlsbHMvcG9seWZpbGxzL3N0cmluZy1kZWNvZGVyJyxcbiAgaHR0cDogJ3JvbGx1cC1wbHVnaW4tbm9kZS1wb2x5ZmlsbHMvcG9seWZpbGxzL2h0dHAnLFxuICBodHRwczogJ3JvbGx1cC1wbHVnaW4tbm9kZS1wb2x5ZmlsbHMvcG9seWZpbGxzL2h0dHAnLFxuICBvczogJ3JvbGx1cC1wbHVnaW4tbm9kZS1wb2x5ZmlsbHMvcG9seWZpbGxzL29zJyxcbiAgYXNzZXJ0OiAncm9sbHVwLXBsdWdpbi1ub2RlLXBvbHlmaWxscy9wb2x5ZmlsbHMvYXNzZXJ0JyxcbiAgY29uc3RhbnRzOiAncm9sbHVwLXBsdWdpbi1ub2RlLXBvbHlmaWxscy9wb2x5ZmlsbHMvY29uc3RhbnRzJyxcbiAgX3N0cmVhbV9kdXBsZXg6ICdyb2xsdXAtcGx1Z2luLW5vZGUtcG9seWZpbGxzL3BvbHlmaWxscy9yZWFkYWJsZS1zdHJlYW0vZHVwbGV4JyxcbiAgX3N0cmVhbV9wYXNzdGhyb3VnaDogJ3JvbGx1cC1wbHVnaW4tbm9kZS1wb2x5ZmlsbHMvcG9seWZpbGxzL3JlYWRhYmxlLXN0cmVhbS9wYXNzdGhyb3VnaCcsXG4gIF9zdHJlYW1fcmVhZGFibGU6ICdyb2xsdXAtcGx1Z2luLW5vZGUtcG9seWZpbGxzL3BvbHlmaWxscy9yZWFkYWJsZS1zdHJlYW0vcmVhZGFibGUnLFxuICBfc3RyZWFtX3dyaXRhYmxlOiAncm9sbHVwLXBsdWdpbi1ub2RlLXBvbHlmaWxscy9wb2x5ZmlsbHMvcmVhZGFibGUtc3RyZWFtL3dyaXRhYmxlJyxcbiAgX3N0cmVhbV90cmFuc2Zvcm06ICdyb2xsdXAtcGx1Z2luLW5vZGUtcG9seWZpbGxzL3BvbHlmaWxscy9yZWFkYWJsZS1zdHJlYW0vdHJhbnNmb3JtJyxcbiAgdGltZXJzOiAncm9sbHVwLXBsdWdpbi1ub2RlLXBvbHlmaWxscy9wb2x5ZmlsbHMvdGltZXJzJyxcbiAgY29uc29sZTogJ3JvbGx1cC1wbHVnaW4tbm9kZS1wb2x5ZmlsbHMvcG9seWZpbGxzL2NvbnNvbGUnLFxuICB2bTogJ3JvbGx1cC1wbHVnaW4tbm9kZS1wb2x5ZmlsbHMvcG9seWZpbGxzL3ZtJyxcbiAgemxpYjogJ3JvbGx1cC1wbHVnaW4tbm9kZS1wb2x5ZmlsbHMvcG9seWZpbGxzL3psaWInLFxuICB0dHk6ICdyb2xsdXAtcGx1Z2luLW5vZGUtcG9seWZpbGxzL3BvbHlmaWxscy90dHknLFxuICBkb21haW46ICdyb2xsdXAtcGx1Z2luLW5vZGUtcG9seWZpbGxzL3BvbHlmaWxscy9kb21haW4nLFxuICBidWZmZXI6ICdyb2xsdXAtcGx1Z2luLW5vZGUtcG9seWZpbGxzL3BvbHlmaWxscy9idWZmZXItZXM2JyxcbiAgcHJvY2VzczogJ3JvbGx1cC1wbHVnaW4tbm9kZS1wb2x5ZmlsbHMvcG9seWZpbGxzL3Byb2Nlc3MtZXM2Jyxcbn07XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQXVZLFNBQVMsZUFBZSxXQUFXO0FBQzFhLFNBQVMsb0JBQWtDO0FBQzNDLE9BQU8sU0FBUztBQUNoQixPQUFPLFlBQVk7QUFDbkIsU0FBUyxpQkFBaUIsb0JBQW9CO0FBRTlDLFNBQVMsaUNBQWlDO0FBQzFDLFNBQVMsaUNBQWlDO0FBSTFDLFNBQVMsOEJBQThCO0FBQ3ZDLE9BQU8sbUJBQW1CO0FBQzFCLFNBQVMsbUJBQW1CO0FBQzVCLE9BQU8sY0FBYztBQUNyQixPQUFPLFlBQVk7QUFLbkIsU0FBUyxrQkFBa0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNwQmdZLElBQU8sZ0NBQVE7QUFBQSxFQUN4YSxNQUFNO0FBQUEsRUFDTixLQUFLO0FBQUEsRUFDTCxRQUFRO0FBQUEsRUFDUixRQUFRO0FBQUEsRUFDUixNQUFNO0FBQUEsRUFDTixhQUFhO0FBQUEsRUFDYixVQUFVO0FBQUEsRUFDVixLQUFLO0FBQUEsRUFDTCxnQkFBZ0I7QUFBQSxFQUNoQixNQUFNO0FBQUEsRUFDTixPQUFPO0FBQUEsRUFDUCxJQUFJO0FBQUEsRUFDSixRQUFRO0FBQUEsRUFDUixXQUFXO0FBQUEsRUFDWCxnQkFBZ0I7QUFBQSxFQUNoQixxQkFBcUI7QUFBQSxFQUNyQixrQkFBa0I7QUFBQSxFQUNsQixrQkFBa0I7QUFBQSxFQUNsQixtQkFBbUI7QUFBQSxFQUNuQixRQUFRO0FBQUEsRUFDUixTQUFTO0FBQUEsRUFDVCxJQUFJO0FBQUEsRUFDSixNQUFNO0FBQUEsRUFDTixLQUFLO0FBQUEsRUFDTCxRQUFRO0FBQUEsRUFDUixRQUFRO0FBQUEsRUFDUixTQUFTO0FBQ1g7OztBREhBLFNBQVMsZUFBZTtBQXpCeEIsSUFBTSxtQ0FBbUM7QUFBNk0sSUFBTSwyQ0FBMkM7QUEyQmhTLFNBQVMsZ0JBQWdCLE1BQU07QUFDcEMsU0FBTyxDQUFDLGNBQWMsTUFBTSxFQUFFLFFBQVEsSUFBSSxNQUFNLEtBQUssYUFBYSxDQUFDO0FBQ3JFO0FBQ08sSUFBTSxhQUF1QjtBQUFBLEVBa0dsQyxXQUFXO0FBQUEsSUFDVCxTQUFTO0FBQUEsSUFDVCx1QkFBdUIsTUFBTTtBQUFBLE1BQzNCLG9CQUFJLElBQUk7QUFBQSxRQUNOO0FBQUEsUUFDQTtBQUFBLFFBQ0E7QUFBQSxRQUNBO0FBQUEsUUFDQTtBQUFBLFFBQ0E7QUFBQSxRQUNBLEdBQUcsT0FBTyxLQUFLLFlBQVksRUFDeEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLEtBQUssR0FBRyxFQUFFLFFBQVEsS0FBSyxHQUFHLENBQUMsRUFDaEQsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUN2QixLQUFLLEVBQ0wsT0FBTyxDQUFDLE1BQU0sS0FBSyxFQUFFO0FBQUEsTUFDMUIsQ0FBQztBQUFBLElBQ0g7QUFBQSxJQUNBLGNBQWM7QUFBQSxJQUNkLGFBQWE7QUFBQSxJQUViLHNCQUFzQjtBQUFBLElBTXRCLGVBQWU7QUFBQSxJQU1mLGVBQWU7QUFBQSxFQUtqQixDQUFDO0FBQUEsRUFFRCxPQUFPO0FBQUEsSUFDTCxVQUFVO0FBQUEsTUFDUixjQUFjO0FBQUEsTUFDZCxhQUFhO0FBQUEsSUFDZjtBQUFBLElBQ0EsUUFBUTtBQUFBLE1BQ04sWUFBWTtBQUFBLFFBRVYsYUFBYTtBQUFBLFFBQ2IsT0FBTztBQUFBLE1BQ1Q7QUFBQSxNQUNBLE1BQU07QUFBQSxNQUNOLFFBQVE7QUFBQSxNQUNSLFVBQVU7QUFBQSxNQUNWLFVBQVU7QUFBQSxJQUNaO0FBQUEsSUFDQSxRQUFRO0FBQUEsTUFDTixVQUFVO0FBQUEsSUFDWjtBQUFBLEVBQ0YsQ0FBQztBQUNIO0FBR0EsSUFBTyxzQkFBUSxhQUFhLENBQUMsRUFBRSxTQUFTLE1BQU0sU0FBUyxNQUFNO0FBQzNELFNBQU87QUFBQSxJQUNMLFNBQVMsQ0FBQyxhQUFhLEdBQUcsSUFBSSxHQUFHLE9BQU8sQ0FBQztBQUFBLElBQ3pDLFNBQVM7QUFBQSxNQUNQLE9BQU87QUFBQSxRQUNMLEtBQUssY0FBYyxJQUFJLElBQUksU0FBUyx3Q0FBZSxDQUFDO0FBQUEsUUFDcEQsY0FBYyxjQUFjLElBQUksSUFBSSxTQUFTLHdDQUFlLENBQUM7QUFBQSxRQUc3RCxHQUFHO0FBQUEsTUFDTDtBQUFBLElBQ0Y7QUFBQSxJQUNBLGNBQWM7QUFBQSxNQUNaLGdCQUFnQjtBQUFBLFFBQ2QsUUFBUSxFQUFFLFFBQVEsYUFBYTtBQUFBLFFBQy9CLFNBQVM7QUFBQSxVQUNQLDBCQUEwQjtBQUFBLFlBQ3hCLFNBQVM7QUFBQSxZQUNULFFBQVE7QUFBQSxVQUNWLENBQUM7QUFBQSxVQUNELDBCQUEwQjtBQUFBLFFBQzVCO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFBQSxJQUNBLE9BQU87QUFBQSxNQUNMLFFBQVE7QUFBQSxNQUNSLFVBQVU7QUFBQSxNQUVWLFFBQVE7QUFBQSxNQUVSLFFBQVE7QUFBQSxNQUVSLGVBQWU7QUFBQSxRQUNiLE9BQU87QUFBQSxVQUNMLE1BQU0sUUFBUSxrQ0FBVyxZQUFZO0FBQUEsUUFDdkM7QUFBQSxRQUNBLFFBQVE7QUFBQSxVQUdOLFNBQVMsQ0FFVDtBQUFBLFVBSUEsYUFBYSxJQUFJLEVBQUUsZUFBZSxhQUFhLEdBQUc7QUFHaEQsZ0JBQUksaUJBQWlCLEtBQUssRUFBRTtBQUFHLHFCQUFPO0FBQUEsVUFLeEM7QUFBQSxRQUNGO0FBQUEsUUFDQSxVQUFVLENBRVY7QUFBQSxRQUNBLFNBQVM7QUFBQSxVQVFQLHVCQUF1QjtBQUFBLFVBQ3ZCLGNBQWM7QUFBQSxVQUNkLFlBQVk7QUFBQSxVQUNaLFNBQVMsQ0FBQyxDQUFDO0FBQUEsVUFDWCxnQkFBZ0IsQ0FBQyxRQUFRLENBQUM7QUFBQSxVQU8xQixHQUFHLGdCQUFnQixJQUFJO0FBQUEsUUFDekI7QUFBQSxNQUNGO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFDRixDQUFDOyIsCiAgIm5hbWVzIjogW10KfQo= diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..a6892f7 --- /dev/null +++ b/go.mod @@ -0,0 +1,45 @@ +module wpw-common + +go 1.19 + +replace github.com/cloudwego/thriftgo => github.com/ii64/thriftgo v0.2.1-2 + +require ( + github.com/apache/thrift v0.17.0 + github.com/cloudwego/thriftgo v0.0.0-00010101000000-000000000000 + github.com/go-playground/locales v0.14.0 + github.com/go-playground/universal-translator v0.18.0 + github.com/go-playground/validator/v10 v10.11.1 + github.com/gofiber/fiber/v2 v2.39.0 + github.com/golang-jwt/jwt/v4 v4.4.2 + github.com/ii64/thrift-idl-builder v0.1.4 + github.com/joho/godotenv v1.4.0 + go.uber.org/zap v1.23.0 + golang.org/x/crypto v0.1.0 + gorm.io/driver/mysql v1.4.3 + gorm.io/driver/sqlite v1.4.3 + gorm.io/gorm v1.24.0 +) + +require ( + github.com/andybalholm/brotli v1.0.4 // indirect + github.com/go-sql-driver/mysql v1.6.0 // indirect + github.com/jinzhu/inflection v1.0.0 // indirect + github.com/jinzhu/now v1.1.5 // indirect + github.com/klauspost/compress v1.15.9 // indirect + github.com/leodido/go-urn v1.2.1 // indirect + github.com/mattn/go-colorable v0.1.13 // indirect + github.com/mattn/go-isatty v0.0.16 // indirect + github.com/mattn/go-runewidth v0.0.14 // indirect + github.com/mattn/go-sqlite3 v1.14.15 // indirect + github.com/pkg/errors v0.9.1 // indirect + github.com/rivo/uniseg v0.2.0 // indirect + github.com/stretchr/testify v1.8.1 // indirect + github.com/valyala/bytebufferpool v1.0.0 // indirect + github.com/valyala/fasthttp v1.41.0 // indirect + github.com/valyala/tcplisten v1.0.0 // indirect + go.uber.org/atomic v1.7.0 // indirect + go.uber.org/multierr v1.6.0 // indirect + golang.org/x/sys v0.1.0 // indirect + golang.org/x/text v0.4.0 // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..98947ce --- /dev/null +++ b/go.sum @@ -0,0 +1,120 @@ +github.com/andybalholm/brotli v1.0.4 h1:V7DdXeJtZscaqfNuAdSRuRFzuiKlHSC/Zh3zl9qY3JY= +github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= +github.com/apache/thrift v0.17.0 h1:cMd2aj52n+8VoAtvSvLn4kDC3aZ6IAkBuqWQ2IDu7wo= +github.com/apache/thrift v0.17.0/go.mod h1:OLxhMRJxomX+1I/KUw03qoV3mMz16BwaKI+d4fPBx7Q= +github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= +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/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A= +github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= +github.com/go-playground/locales v0.14.0 h1:u50s323jtVGugKlcYeyzC0etD1HifMjqmJqb8WugfUU= +github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs= +github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho= +github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= +github.com/go-playground/validator/v10 v10.11.1 h1:prmOlTVv+YjZjmRmNSF3VmspqJIxJWXmqUsHwfTRRkQ= +github.com/go-playground/validator/v10 v10.11.1/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4dMGDBiPU55YFDl0WbKdWU= +github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE= +github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= +github.com/gofiber/fiber/v2 v2.39.0 h1:uhWpYQ6EHN8J7FOPYbI2hrdBD/KNZBC5CjbuOd4QUt4= +github.com/gofiber/fiber/v2 v2.39.0/go.mod h1:Cmuu+elPYGqlvQvdKyjtYsjGMi69PDp8a1AY2I5B2gM= +github.com/golang-jwt/jwt/v4 v4.4.2 h1:rcc4lwaZgFMCZ5jxF9ABolDcIHdBytAFgqFPbSJQAYs= +github.com/golang-jwt/jwt/v4 v4.4.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= +github.com/ii64/thrift-idl-builder v0.1.4 h1:hM+9QMCyDrKCUncUxq3gNvbNuQS107GoaVV0XZ+e27E= +github.com/ii64/thrift-idl-builder v0.1.4/go.mod h1:smCsPHGI0sQNUR8YIpg2RzzlSugWjNoY6pyLdmvEoKw= +github.com/ii64/thriftgo v0.2.1-2 h1:bYWxBeyu5EA0yHfevJL+BUGlvdyChvynG48k8zatlQ0= +github.com/ii64/thriftgo v0.2.1-2/go.mod h1:8i9AF5uDdWHGqzUhXDlubCjx4MEfKvWXGQlMWyR0tM4= +github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= +github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= +github.com/jinzhu/now v1.1.4/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= +github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= +github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= +github.com/joho/godotenv v1.4.0 h1:3l4+N6zfMWnkbPEXKng2o2/MR5mSwTrBih4ZEkkz1lg= +github.com/joho/godotenv v1.4.0/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= +github.com/klauspost/compress v1.15.9 h1:wKRjX6JRtDdrE9qwa4b/Cip7ACOshUI4smpCQanqjSY= +github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +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/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w= +github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= +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-runewidth v0.0.14 h1:+xnbZSEeDbOIg5/mE6JF0w6n9duR1l3/WmbinWVwUuU= +github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/mattn/go-sqlite3 v1.14.15 h1:vfoHhTN1af61xCRSWzFIWzx2YskyMTwHLrExkBOjvxI= +github.com/mattn/go-sqlite3 v1.14.15/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +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/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= +github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= +github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.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/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= +github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= +github.com/valyala/fasthttp v1.41.0 h1:zeR0Z1my1wDHTRiamBCXVglQdbUwgb9uWG3k1HQz6jY= +github.com/valyala/fasthttp v1.41.0/go.mod h1:f6VbjjoI3z1NDOZOv17o6RvtRSWxC77seBFc2uWtgiY= +github.com/valyala/tcplisten v1.0.0 h1:rBHj/Xf+E1tRGZyWIWwJDiRY0zc1Js+CV5DqwacVSA8= +github.com/valyala/tcplisten v1.0.0/go.mod h1:T0xQ8SeCZGxckz9qRXTfG43PvQ/mcWh7FwZEA7Ioqkc= +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.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI= +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.23.0 h1:OjGQ5KQDEUawVHxNwQgPpiypGHOxo2mNZsOqTak4fFY= +go.uber.org/zap v1.23.0/go.mod h1:D+nX8jyLsMHMYrln8A0rJjFt/T/9/bGgIhAqxv5URuY= +golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.1.0 h1:MDRAIl0xIo9Io2xV565hzXHw3zVseKrJKodhohM5CjU= +golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220906165146-f3363e06e74c/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/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-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U= +golang.org/x/sys v0.1.0/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.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg= +golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +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-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/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.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gorm.io/driver/mysql v1.4.3 h1:/JhWJhO2v17d8hjApTltKNADm7K7YI2ogkR7avJUL3k= +gorm.io/driver/mysql v1.4.3/go.mod h1:sSIebwZAVPiT+27jK9HIwvsqOGKx3YMPmrA3mBJR10c= +gorm.io/driver/sqlite v1.4.3 h1:HBBcZSDnWi5BW3B3rwvVTc510KGkBkexlOg0QrmLUuU= +gorm.io/driver/sqlite v1.4.3/go.mod h1:0Aq3iPO+v9ZKbcdiz8gLWRw5VOPcBOPUQJFLq5e2ecI= +gorm.io/gorm v1.23.8/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk= +gorm.io/gorm v1.24.0 h1:j/CoiSm6xpRpmzbFJsQHYj+I8bGYWLXVHeYEyyKlF74= +gorm.io/gorm v1.24.0/go.mod h1:DVrVomtaYTbqs7gB/x2uVvqnXzv0nqjB396B8cG4dBA= diff --git a/idl/biz/core/exceptions.thrift b/idl/biz/core/exceptions.thrift new file mode 100644 index 0000000..f289e7f --- /dev/null +++ b/idl/biz/core/exceptions.thrift @@ -0,0 +1,7 @@ +namespace go biz.core.exceptions + +exception CoreServicesException { + 1: i32 code + 2: string message + 3: map parameters +} \ No newline at end of file diff --git a/idl/biz/core/service.thrift b/idl/biz/core/service.thrift new file mode 100644 index 0000000..4e67209 --- /dev/null +++ b/idl/biz/core/service.thrift @@ -0,0 +1,71 @@ +include "./structs.thrift" +include "./exceptions.thrift" + +namespace go biz.core + +service CoreService { + // oneway void asd() + + structs.LoginResponse login( + 1: structs.LoginRequest request + ) throws (1: exceptions.CoreServicesException e) + + //@authenticated + structs.GetProfileResponse getProfile( + 1: structs.GetProfileRequest request + ) throws (1: exceptions.CoreServicesException e) + + //@authenticated + structs.LogoutResponse logout( + 1: structs.LogoutRequest request + ) throws (1: exceptions.CoreServicesException e) + + + + //@authenticated + //@role(Admin) + // Get list of users registered in system + structs.GetUserListResponse getUserList( + 1: structs.GetUserListRequest request + ) throws (1: exceptions.CoreServicesException e) + + //@authenticated + //@role(Admin) + structs.CreateUserResponse createUser( + 1: structs.CreateUserRequest request + ) throws (1: exceptions.CoreServicesException e) + + //@authenticated + //@role(Admin) + structs.DeleteUsersResponse deleteUsers( + 1: structs.DeleteUsersRequest request, + ) throws (1: exceptions.CoreServicesException e) + + + + + + + //@authenticated + //@role(All) + // Get list of accessible WajibPajak by OWNED|ROLE + structs.GetWajibPajakListResponse getWajibPajakList( + 1: structs.GetWajibPajakListRequest request + ) throws (1: exceptions.CoreServicesException e) + + //@authenticated + //@role(All) + // Create WajibPajak + structs.CreateWajibPajakResponse createWajibPajak( + 1: structs.CreateWajibPajakRequest request + ) throws (1: exceptions.CoreServicesException e) + + //@authenticated + //@role(All) + structs.DeleteWajibpajakListResponse deleteWajibPajakList( + 1: structs.DeleteWajibpajakListRequest request + ) throws (1: exceptions.CoreServicesException e) + + + +} \ No newline at end of file diff --git a/idl/biz/core/structs.thrift b/idl/biz/core/structs.thrift new file mode 100644 index 0000000..c87a314 --- /dev/null +++ b/idl/biz/core/structs.thrift @@ -0,0 +1,200 @@ +namespace go biz.core.structs + +// WARNING WARNING WARNING WARNING WARNING WARNING WARNING +// Please don't mix DTO and DAO ! +// This design is intended to be as-is. +// WARNING WARNING WARNING WARNING WARNING WARNING WARNING + +enum RoleType { + UNKNOWN = 0 + SYSTEM = 1 + USER = 2 + + WP_OWNER = 100 + WP_ADMIN = 110 +} + +struct Role { + 1: i64 id (go.tag = "gorm:\"primaryKey\"") + + 5: string displayName (go.tag = "core_v1_dto:\"required\"") + 6: RoleType roleType (go.tag = "core_v1_dto:\"required\"") + + // user that create this role + 39: optional User creator (go.tag = "gorm:\"foreignKey:id;references:id;\"") + // users with this role + 40: optional list users (go.tag = "gorm:\"many2many:user_roles;foreignKey:id;references:id;\"") + // wajib pajak bound with this role + 41: optional list wajibPajakList (go.tag = "gorm:\"many2many:wp_roles;foreignKey:id;references:id\"") +} + +//@direct +struct User { + 1: i64 id (go.tag = "gorm:\"primaryKey\"") + 2: string username (go.tag = "core_v1_dto:\"required\" gorm:\"index\"") + 3: string password (go.tag = "core_v1_dto:\"required\"") + 4: string displayName (go.tag = "core_v1_dto:\"required\"") + + 60: binary privateKey + 61: binary publicKey + + // system roles + 40: optional list roles (go.tag = "gorm:\"many2many:user_roles;foreignKey:id;references:id;\"") + // wp owned by user + 45: optional list ownedWajibPajakList (go.tag = "gorm:\"many2many:user_wps;foreignKey:id;references:id;constraint:OnDelete:CASCADE\"") + // wp roles roles owned by user + 50: optional list rolesWajibPajakList (go.tag = "gorm:\"many2many:wp_roles;foreignKey:id;references:id;\"") + +} + + +//@direct +// struct JenisPajakXX { +// 1: i64 id (go.tag = "gorm:\"primaryKey\"") +// 2: string displayName (go.tag = "core_v1_dto:\"required\"") +// } + +enum JenisPajak { + UNKNOWN = 0 + PPH_21 = 1 + PPH_23 = 2 + PPH_25 = 3 + PPH_26 = 4 + PPH_4_2 = 5 + PPH_15 = 6 + PPN = 7 + TAHUNAN = 8 +} + + +struct WajibPajakProfile { + // 1: i64 id (go.tag = "gorm:\"primaryKey\"") + 2: string npwp (go.tag = "core_v1_dto:\"required\"") + 3: string displayName (go.tag = "core_v1_dto:\"required\"") + 4: string address (go.tag = "core_v1_dto:\"required\"") +} + +struct WajibPajakTaxObligation { + 1: i64 id (go.tag = "gorm:\"primaryKey\"") + 2: JenisPajak obligation (go.tag = "gorm:\"foreignKey:id;references:id\"") + 3: bool isActive (go.tag = "") +} + +//@direct +struct WajibPajak { + 1: i64 id (go.tag = "gorm:\"primaryKey\"") + 2: WajibPajakProfile profile (go.tag = "gorm:\"embedded;embeddedPrefix:profile_;constraint:OnDelete:CASCADE\" core_v1_dto:\"required\"") + + // wajib pajak owner + 30: list owners (go.tag = "gorm:\"many2many:wp_roles;foreignKey:id;references:id;\"") + + // wajib pajak tax obligations + 40: optional list taxObligations (go.tag = "gorm:\"many2many:wp_obligations;foreignKey:id;references:id;\"") + // role bound to this WajibPajak + 45: optional list roles (go.tag = "gorm:\"many2many:wp_roles;foreignKey:id;references:id;constraint:OnDelete:CASCADE\"") +} + + + +// ---------------------------------------------------------------- + +struct Pagination { + 1: i64 page + 2: i64 rowsPerPage +} + +struct AlertInfo { + 1: string title + 2: string description +} + +// ---------------------------------------------------------------- + +struct LoginRequest { + 1: string username (go.tag = "core_v1_dto:\"required\"") + 2: string password (go.tag = "core_v1_dto:\"required\"") +} +struct LoginResponse { + 1: string trkToken + 2: string token + 10: optional User profile +} + +struct LogoutRequest { + 1: string token (go.tag = "core_v1_dto:\"required\"") +} +struct LogoutResponse { +} + +struct GetProfileRequest { +} +struct GetProfileResponse { + 2: User profile +} + +enum WajibPajakOwnership { + UNKNOWN = 0 + OWNED = 1 + ROLE = 2 +} + + + + + +struct GetUserListRequest { + 1: Pagination pagination + 3: string searchTerm +} +struct GetUserListResponse { + 1: Pagination pagination + 2: i64 totalUsers + 3: list users +} + +struct CreateUserRequest { + 1: User user +} +struct CreateUserResponse { +} + +struct DeleteUsersRequest { + 1: list userIds +} +struct DeleteUsersResponse { + 1: list success + 2: list ignored +} + + + + + + + +struct GetWajibPajakListRequest { + 1: Pagination pagination + 2: WajibPajakOwnership ownership + 3: string searchTerm +} +struct GetWajibPajakListResponse { + 1: Pagination pagination + 2: i64 totalWajibPajak + 3: list wajibPajakList +} + + +struct CreateWajibPajakRequest { + 1: WajibPajak wajibPajak (go.tag = "core_v1_dto:\"required\"") +} +struct CreateWajibPajakResponse { +} + + +struct DeleteWajibpajakListRequest { + 1: list wpIds +} +struct DeleteWajibpajakListResponse { + 1: list success + 2: list ignored +} \ No newline at end of file diff --git a/idl/common/exceptionsc.thrift b/idl/common/exceptionsc.thrift new file mode 100644 index 0000000..a0e835d --- /dev/null +++ b/idl/common/exceptionsc.thrift @@ -0,0 +1,7 @@ +namespace go common.exceptionsc + +exception CommonException { + 1: i32 code + 2: string message + 3: optional map metadata +} \ No newline at end of file diff --git a/idl/common/service.thrift b/idl/common/service.thrift new file mode 100644 index 0000000..ec2f587 --- /dev/null +++ b/idl/common/service.thrift @@ -0,0 +1,3 @@ +include "./exceptionsc.thrift" + +namespace go common \ No newline at end of file diff --git a/internal/biz/core/core.go b/internal/biz/core/core.go new file mode 100644 index 0000000..d0b29da --- /dev/null +++ b/internal/biz/core/core.go @@ -0,0 +1,383 @@ +package coresvc + +import ( + "context" + "crypto/ed25519" + "crypto/rand" + "encoding/gob" + "encoding/json" + "errors" + "fmt" + "strings" + "time" + "wpw-common/internal" + "wpw-common/internal/http" + + "wpw-common/internal/vdext" + "wpw-common/pkg/gen/biz/core" + "wpw-common/pkg/gen/biz/core/exceptions" + "wpw-common/pkg/gen/biz/core/structs" + + "github.com/go-playground/validator/v10" + "github.com/gofiber/fiber/v2/middleware/session" + + "github.com/golang-jwt/jwt/v4" + + "go.uber.org/zap" + "gorm.io/gorm" +) + +type scopeFunc = func(db *gorm.DB) *gorm.DB + +type CoreService struct { + vd *validator.Validate + logger *zap.SugaredLogger + db *gorm.DB + + secret []byte + authExpireDur time.Duration +} + +func init() { + gob.Register(&structs.User{}) +} + +var _ core.CoreService = (*CoreService)(nil) + +type CoreV1ServiceParams struct { + Logger *zap.Logger + DB *gorm.DB + Secret []byte +} + +func NewCoreServiceFromAppContext(appCtx *internal.AppContext) *CoreService { + var ( + argName string + db, secret any + + exist bool + ) + // db + db, exist = appCtx.Data["db"] + if !exist { + argName = "db" + goto invalid_arguments + } + // secret + secret, exist = appCtx.Data["secret"] + if !exist { + argName = "secret" + goto invalid_arguments + } + return NewCoreService(CoreV1ServiceParams{ + Logger: appCtx.Logger, + DB: db.(*gorm.DB), + Secret: []byte(secret.(string)), + }) + +invalid_arguments: + appCtx.Logger.Sugar().Fatal("core v1 service requires `%s` on application context", argName) + return nil +} + +func NewCoreService(params CoreV1ServiceParams) *CoreService { + c := &CoreService{ + vd: vdext.New("core_v1_dto"), + logger: params.Logger.Sugar().Named("core-v1"), + db: params.DB, + secret: params.Secret, + authExpireDur: time.Hour * 5, + } + + token := jwt.New(jwt.SigningMethodEdDSA) + claims := token.Claims.(jwt.MapClaims) + _ = claims + + c.migrateSchemeAndData() + return c +} + +func (c *CoreService) getEd25519KeyPair() (pri ed25519.PrivateKey, pub ed25519.PublicKey, err error) { + pub, pri, err = ed25519.GenerateKey(rand.Reader) + return +} + +func (c *CoreService) generateJwtTokenForUser(user *structs.User, jti string) (tokenStr string, err error) { + // user.PrivateKey + token := jwt.New(jwt.SigningMethodEdDSA) + claims := token.Claims.(jwt.MapClaims) + claims["exp"] = time.Now().Add(c.authExpireDur) + claims["iss"] = "core-v1" + claims["uid"] = user.ID + claims["jti"] = jti + claims["username"] = user.Username + var roleIds []int64 + for _, role := range user.Roles { + roleIds = append(roleIds, role.ID) + } + claims["roles"] = roleIds + + tokenStr, err = token.SignedString(ed25519.PrivateKey(user.PrivateKey)) + return + +} + +func (c *CoreService) stripConfidentialUserData(u *structs.User) { + u.Password = "" + u.PrivateKey = nil + u.PublicKey = nil +} + +func (c *CoreService) getSession(ctx context.Context) (sess *session.Session, err error) { + fctx := http.GetFiberFromContext(ctx) + sess, err = http.Session.Get(fctx) + if err != nil { + c.logger.Error("get session failed: ", err) + exc := exceptions.NewCoreServicesException() + exc.Code = 500 + exc.Message = "unable to get session" + exc.Parameters = map[string]string{ + "inner": err.Error(), + } + err = exc + return + } + if authToken := fctx.Request().Header.Peek("X-Hub-Auth-Token"); authToken != nil { + // tbd + } + return +} + +var ( + ErrBadRequest = errors.New("bad request") + ErrForbidden = errors.New("forbidden") + ErrNotAuthenticated = errors.New("not authenticated") + ErrInvalidState = errors.New("invalid state") +) + +func (c *CoreService) checkSession(sess *session.Session) (user *structs.User, err error) { + userVal := sess.Get("user") + if userVal == nil { + err = ErrNotAuthenticated + return + } + var ok bool + user, ok = userVal.(*structs.User) + if !ok { + err = ErrNotAuthenticated + return + } + tx := c.db.Where("id = ?", user.ID).First(user) + if err = tx.Error; err != nil { + // must check if the user is still valid / no db error + // or we just revoke the session. + if err = sess.Destroy(); err != nil { + return + } + return + } + + // TODO: also use the JWT ? + return +} + +func (c *CoreService) getAndCheckSession(ctx context.Context) (user *structs.User, err error) { + var sess *session.Session + if sess, err = c.getSession(ctx); err != nil { + return + } + if user, err = c.checkSession(sess); err != nil { + return + } + return +} + +func (c *CoreService) getAndCheckSessionAdmin(ctx context.Context) (user *structs.User, err error) { + if user, err = c.getAndCheckSession(ctx); err != nil { + return + } + // user with type system + if !c.isSystemUser(user) { + err = ErrForbidden + return + } + return +} + +func (c *CoreService) isSystemUser(user *structs.User) bool { + for _, role := range user.Roles { + if role.RoleType == structs.RoleType_SYSTEM { + return true + } + } + return false +} + +func (c *CoreService) alert2Str(alert *structs.AlertInfo) (s string) { + var b []byte + var err error + if b, err = json.Marshal(alert); err != nil { + s = "{}" + return + } + s = string(b) + return +} + +func (c *CoreService) wrapServiceError(err error, customMessage ...string) error { + if errVal, ok := err.(*exceptions.CoreServicesException); ok { + return errVal + } + exc := exceptions.NewCoreServicesException() + exc.Message = err.Error() + switch err { + case gorm.ErrRecordNotFound: + exc.Code = 404 + alert := &structs.AlertInfo{ + Title: "Resource", + Description: "Resource not found", + } + if len(customMessage) >= 2 { + alert.Title = customMessage[0] + alert.Description = customMessage[1] + } else if len(customMessage) >= 1 { + alert.Description = customMessage[0] + } + exc.Parameters = map[string]string{ + "alert": c.alert2Str(alert), + } + case ErrForbidden: + exc.Code = 403 + exc.Parameters = map[string]string{ + "alert": c.alert2Str(&structs.AlertInfo{ + Title: "Access Error", + Description: err.Error(), + }), + } + case ErrBadRequest: + exc.Code = 400 + exc.Parameters = map[string]string{ + "alert": c.alert2Str(&structs.AlertInfo{ + Title: "Input Error", + Description: err.Error(), + }), + } + case ErrNotAuthenticated: + exc.Code = 401 + exc.Parameters = map[string]string{ + "alert": c.alert2Str(&structs.AlertInfo{ + Title: "Auth Error", + Description: err.Error(), + }), + } + case ErrInvalidState: + exc.Code = 500 + exc.Parameters = map[string]string{ + "redirect": "/", + "alert": c.alert2Str(&structs.AlertInfo{ + Title: "Server Error", + Description: err.Error(), + }), + } + default: + exc.Code = 500 + exc.Parameters = map[string]string{ + "alert": c.alert2Str(&structs.AlertInfo{ + Title: "Server Error", + Description: err.Error(), + }), + } + } + return exc +} + +func (c *CoreService) checkRequest(ctx context.Context, v any) (err error) { + err = c.vd.StructCtx(ctx, v) + if err != nil { + exc := exceptions.NewCoreServicesException() + exc.Code = 400 + exc.Message = err.Error() + exc.Parameters = map[string]string{ + "alert": c.alert2Str(&structs.AlertInfo{ + Title: "Validation Error", + Description: c.err2str(err), + }), + } + err = exc + return + } + return +} + +func (c *CoreService) passwordHasher(plain string) string { + return passwordHasher(plain, c.secret) +} + +func (c *CoreService) err2str(err error) (s string) { + var ve validator.ValidationErrors + if errors.As(err, &ve) { + var sb strings.Builder + for i, f := range ve { + sb.WriteString(f.Field()) + sb.Write([]byte(` `)) + sb.WriteString(f.Tag()) + if i+1 < len(ve) { + sb.Write([]byte(`, `)) + } + } + return sb.String() + } + return err.Error() +} + +// pagination2Offset correct pagination and return the offset +func (c *CoreService) pagination2Offset(pagination *structs.Pagination) (offset int, limit int) { + offset, limit = 0, 25 + if pagination == nil { + return + } + if pagination.Page <= 0 { + pagination.Page = 1 + } + switch { + case pagination.RowsPerPage > 100: + pagination.RowsPerPage = 100 + case pagination.RowsPerPage <= 0: + pagination.RowsPerPage = int64(limit) + } + limit = int(pagination.RowsPerPage) + offset = int(pagination.Page-1) * limit + return +} + +// ScPaginate gorm scope function +func (c *CoreService) ScPaginate(pagination *structs.Pagination) scopeFunc { + return func(db *gorm.DB) *gorm.DB { + offset, limit := c.pagination2Offset(pagination) + // use id > ? next time. + return db.Limit(limit).Offset(offset) + } +} + +// ScSearchTerm gorm scope function +func (c *CoreService) ScSearchTerm(searchTerm string, fields ...string) scopeFunc { + // bloat FTS-like search :( + var sb strings.Builder + var values []any + + if len(fields) <= 0 { + goto ret + } + for i, field := range fields { + fmt.Fprintf(&sb, "%s LIKE ?", field) + if i < len(fields)-1 { + sb.WriteString(" OR ") + } + values = append(values, fmt.Sprintf("%%%s%%", searchTerm)) + } + +ret: + return func(db *gorm.DB) *gorm.DB { + return db.Where(sb.String(), values...) + } +} diff --git a/internal/biz/core/default.go b/internal/biz/core/default.go new file mode 100644 index 0000000..702fc1a --- /dev/null +++ b/internal/biz/core/default.go @@ -0,0 +1,94 @@ +package coresvc + +import ( + "fmt" + "wpw-common/internal/system" + "wpw-common/pkg/gen/biz/core/structs" + + "gorm.io/gorm" +) + +func (c *CoreService) migrateDefaultData() [][]any { + mustNot := func(err error) { + if err != nil { + c.logger.Fatalw("must no error", "err", err) + } + } + + // user admin + priUser1, pubUser1, err := c.getEd25519KeyPair() + mustNot(err) + + var testUser []any + for i := 0; i < 100; i++ { + testUser = append(testUser, &structs.User{ + Username: fmt.Sprintf("psw_user%d", i), + DisplayName: fmt.Sprintf("The User %d", i), + Roles: []*structs.Role{}, + }) + } + + var testWp []any + for i := 0; i < 200; i++ { + testWp = append(testWp, &structs.WajibPajak{ + Profile: &structs.WajibPajakProfile{ + // not validated. + Npwp: fmt.Sprintf("%15d", i), + DisplayName: fmt.Sprintf("PT. Wajib Pajak %d Tbk.", i), + Address: fmt.Sprintf("Lorem Ipsum %d, Surabaya, East Java", i), + }, + Owners: []*structs.User{testUser[i/2].(*structs.User)}, + }) + } + + return [][]any{ + // User + append([]any{ + &structs.User{ + Username: "admin", + Password: c.passwordHasher("admin512"), + DisplayName: "The Admin", + Roles: []*structs.Role{ + {ID: 1, DisplayName: "admin", RoleType: structs.RoleType_SYSTEM}, + {ID: 2, DisplayName: "operator", RoleType: structs.RoleType_SYSTEM}, + }, + + PrivateKey: priUser1, + PublicKey: pubUser1, + }, + }, testUser...), + // // Wajib Pajak + append([]any{ + // &structs.WajibPajak{}, + }, testWp...), + } +} + +func (c *CoreService) migrateSchemeAndData() { + system.Default.DoOnce("core_v1_migrate", func() error { + c.logger.Info("migrate scheme and data") + err := c.db.Transaction(func(tx *gorm.DB) (err error) { + for _, migKinds := range c.migrateDefaultData() { + if len(migKinds) <= 0 { + continue + } + if err = tx.AutoMigrate(migKinds[0]); err != nil { + return + } + for _, mData := range migKinds { + if err = tx.Create(mData).Error; err != nil { + return + } + } + } + return + }) + + // fail immediately if the migration fails + if err != nil { + c.logger.Fatalw("failed to migrate", + "err", err) + } + return nil + }) +} diff --git a/internal/biz/core/handler_auth.go b/internal/biz/core/handler_auth.go new file mode 100644 index 0000000..0262b2d --- /dev/null +++ b/internal/biz/core/handler_auth.go @@ -0,0 +1,117 @@ +package coresvc + +import ( + "context" + "wpw-common/pkg/gen/biz/core" + "wpw-common/pkg/gen/biz/core/structs" + + "github.com/gofiber/fiber/v2/middleware/session" +) + +var _ core.CoreService = (*CoreService)(nil) + +func (c *CoreService) Login(ctx context.Context, request *structs.LoginRequest) (r *structs.LoginResponse, err error) { + c.logger.Infow("login request", "req", request) + // alert := &structs.AlertInfo{} + + // get session + var sess *session.Session + if sess, err = c.getSession(ctx); err != nil { + return + } + var userSession *structs.User + if userSession, err = c.checkSession(sess); err == ErrNotAuthenticated { + // login method don't need to be authenticated. + goto enter + } else if userSession != nil { + err = c.wrapServiceError(ErrInvalidState) + return + } else if err != nil { + err = c.wrapServiceError(err) + return + } + +enter: + // validate the request + if err = c.checkRequest(ctx, request); err != nil { + return + } + + // hash user psw input + var cipPsw = c.passwordHasher(request.Password) + + var user structs.User + user.Username = request.Username + user.Password = cipPsw + + // lookup for username and hashed psw input + tx := c.db.Where(&user).Preload("Roles").First(&user) + if err = tx.Error; err != nil { + err = c.wrapServiceError(err, "Login Error", "Username or password is incorrect") + return + } + + r = structs.NewLoginResponse() + + r.TrkToken = sess.ID() + // generate jwt token + if r.Token, err = c.generateJwtTokenForUser(&user, sess.ID()); err != nil { + err = c.wrapServiceError(err) + return + } + // strip confidental user data + c.stripConfidentialUserData(&user) + + r.Profile = &user + + // send track session token + sess.Set("user", &user) + if err = sess.Save(); err != nil { + err = c.wrapServiceError(err) + return + } + return +} + +func (c *CoreService) Logout(ctx context.Context, request *structs.LogoutRequest) (r *structs.LogoutResponse, err error) { + c.logger.Infow("logout request", "req", request) + // get session + var sess *session.Session + if sess, err = c.getSession(ctx); err != nil { + return + } + // check session + var user *structs.User + if user, err = c.checkSession(sess); err != nil { + err = c.wrapServiceError(err) + return + } + + c.logger.Infow("user logout", "user", user) + + if err = sess.Destroy(); err != nil { + err = c.wrapServiceError(err) + return + } + + r = structs.NewLogoutResponse() + return +} + +func (c *CoreService) GetProfile(ctx context.Context, request *structs.GetProfileRequest) (r *structs.GetProfileResponse, err error) { + c.logger.Infow("get profile request", "req", request) + var sess *session.Session + if sess, err = c.getSession(ctx); err != nil { + return + } + + var user *structs.User + if user, err = c.checkSession(sess); err != nil { + err = c.wrapServiceError(err) + return + } + + r = structs.NewGetProfileResponse() + r.Profile = user + return +} diff --git a/internal/biz/core/handler_users.go b/internal/biz/core/handler_users.go new file mode 100644 index 0000000..252a09e --- /dev/null +++ b/internal/biz/core/handler_users.go @@ -0,0 +1,160 @@ +package coresvc + +import ( + "context" + "crypto/ed25519" + "wpw-common/pkg/gen/biz/core" + "wpw-common/pkg/gen/biz/core/structs" + + "gorm.io/gorm" +) + +var _ core.CoreService = (*CoreService)(nil) + +func (c *CoreService) GetUserList(ctx context.Context, request *structs.GetUserListRequest) (r *structs.GetUserListResponse, err error) { + c.logger.Infow("get users request", "req", request) + var user *structs.User + if user, err = c.getAndCheckSessionAdmin(ctx); err != nil { + err = c.wrapServiceError(err) + return + } + _ = user + + if err = c.checkRequest(ctx, request); err != nil { + return + } + + r = structs.NewGetUserListResponse() + r.Pagination = request.Pagination + + // query scopes + scopes := []scopeFunc{ + c.ScPaginate(request.Pagination), + } + + // using search term + if searchTerm := request.SearchTerm; searchTerm != "" { + scopes = append(scopes, c.ScSearchTerm(request.SearchTerm, + "username", "display_name")) + } + + // get users + tx := c.db.Scopes(scopes...). + Preload("Roles"). + Find(&r.Users) + if err = tx.Error; err != nil { + err = c.wrapServiceError(err) + return + } + + // get total users count + tx = c.db.Model(structs.User{}).Count(&r.TotalUsers) + if err = tx.Error; err != nil { + err = c.wrapServiceError(err) + return + } + + // strip users data + for _, user := range r.Users { + c.stripConfidentialUserData(user) + } + return +} + +func (c *CoreService) CreateUser(ctx context.Context, request *structs.CreateUserRequest) (r *structs.CreateUserResponse, err error) { + c.logger.Infow("create user request", "req", request) + var user *structs.User + if user, err = c.getAndCheckSessionAdmin(ctx); err != nil { + return + } + _ = user + + // validate + requestUser := request.User + if err = c.checkRequest(ctx, requestUser); err != nil { + return + } + + daoUser := structs.NewUser() + // pass necessary data. + daoUser.Username = requestUser.Username + daoUser.Password = c.passwordHasher(requestUser.Password) + daoUser.DisplayName = requestUser.DisplayName + + var ( + pri ed25519.PrivateKey + pub ed25519.PublicKey + ) + if pri, pub, err = c.getEd25519KeyPair(); err != nil { + err = c.wrapServiceError(err) + return + } + daoUser.PrivateKey = pri + daoUser.PublicKey = pub + + tx := c.db.Create(daoUser) + if err = tx.Error; err != nil { + err = c.wrapServiceError(err) + return + } + + r = structs.NewCreateUserResponse() + return +} + +func (c *CoreService) DeleteUsers(ctx context.Context, request *structs.DeleteUsersRequest) (r *structs.DeleteUsersResponse, err error) { + c.logger.Infow("delete users request", "req", request) + var user *structs.User + if user, err = c.getAndCheckSessionAdmin(ctx); err != nil { + return + } + _ = user + + if err = c.checkRequest(ctx, request); err != nil { + return + } + + var targetUsers []*structs.User + tx := c.db. + Where("id IN ?", request.UserIds).Select("id"). + Preload("Roles"). + Find(&targetUsers) + if err = tx.Error; err != nil { + err = c.wrapServiceError(err) + return + } + + var qualifiedTargetUsers []*structs.User + var ( + idsSuccess []int64 + idsIgnored []int64 + ) + err = c.db.Transaction(func(tx *gorm.DB) (err error) { + for _, targetUser := range targetUsers { + if targetUser.ID == user.ID || c.isSystemUser(targetUser) { + idsIgnored = append(idsIgnored, targetUser.ID) + continue + } + qualifiedTargetUsers = append(qualifiedTargetUsers, targetUser) + idsSuccess = append(idsSuccess, targetUser.ID) + } + if len(qualifiedTargetUsers) <= 0 { + // has nothing to do with. + return + } + tx = tx.Delete(qualifiedTargetUsers) + if err = tx.Error; err != nil { + return + } + return + }) + if err != nil { + err = c.wrapServiceError(err) + return + } + + r = structs.NewDeleteUsersResponse() + r.Success = idsSuccess + r.Ignored = idsIgnored + return +} diff --git a/internal/biz/core/handler_wajib_pajak.go b/internal/biz/core/handler_wajib_pajak.go new file mode 100644 index 0000000..884912f --- /dev/null +++ b/internal/biz/core/handler_wajib_pajak.go @@ -0,0 +1,181 @@ +package coresvc + +import ( + "context" + "wpw-common/pkg/gen/biz/core" + "wpw-common/pkg/gen/biz/core/structs" + + "gorm.io/gorm" +) + +var _ core.CoreService = (*CoreService)(nil) + +func (c *CoreService) GetWajibPajakList(ctx context.Context, request *structs.GetWajibPajakListRequest) (r *structs.GetWajibPajakListResponse, err error) { + c.logger.Infow("get wajib pajak request", "req", request) + var user *structs.User + if user, err = c.getAndCheckSession(ctx); err != nil { + return + } + _ = user + + if err = c.checkRequest(ctx, request); err != nil { + return + } + + r = structs.NewGetWajibPajakListResponse() + r.Pagination = request.Pagination + + // query scopes + scopes := []scopeFunc{ + c.ScPaginate(request.Pagination), + } + + // using search term + if searchTerm := request.SearchTerm; searchTerm != "" { + scopes = append(scopes, c.ScSearchTerm(request.SearchTerm, + "profile_npwp", "profile_display_name", "profile_address")) + } + + // admin user, ignoring the `ownership` + if c.isSystemUser(user) { + // get all wps + tx := c.db.Scopes(scopes...). + Find(&r.WajibPajakList) + if err = tx.Error; err != nil { + return + } + // get all wps count + tx = c.db.Model(structs.WajibPajak{}).Count(&r.TotalWajibPajak) + if err = tx.Error; err != nil { + return + } + + return + } + + // normal user + var tx *gorm.DB + switch request.Ownership { + case structs.WajibPajakOwnership_OWNED: + tx = c.db. + Preload("OwnedWajibPajakList"). + Where(user). + First(&user) + if err = tx.Error; err != nil { + err = c.wrapServiceError(err) + return + } + r.WajibPajakList = user.OwnedWajibPajakList + r.TotalWajibPajak = int64(len(user.OwnedWajibPajakList)) // TODO: temporary + case structs.WajibPajakOwnership_ROLE: + tx = c.db. + Preload("RolesWajibPajakList"). + Preload("RolesWajibPajakList.WajibPajakList"). + Where(user).First(&user) + if err = tx.Error; err != nil { + err = c.wrapServiceError(err) + return + } + for _, role := range user.Roles { + r.WajibPajakList = append(r.WajibPajakList, role.WajibPajakList...) + } + r.TotalWajibPajak = int64(len(r.WajibPajakList)) // TODO: temporary + default: + err = c.wrapServiceError(ErrBadRequest) + return + } + + return +} + +func (c *CoreService) CreateWajibPajak(ctx context.Context, request *structs.CreateWajibPajakRequest) (r *structs.CreateWajibPajakResponse, err error) { + c.logger.Infow("create wajib pajajk request", "req", request) + var user *structs.User + if user, err = c.getAndCheckSession(ctx); err != nil { + return + } + _ = user + + if err = c.checkRequest(ctx, request); err != nil { + return + } + + var wp structs.WajibPajak + wp.Profile = request.WajibPajak.Profile + wp.Owners = []*structs.User{ + // set authenticated user as the ownner of the Wajib Pajak + user, + } + + tx := c.db.Create(&wp) + if err = tx.Error; err != nil { + err = c.wrapServiceError(err) + return + } + + r = structs.NewCreateWajibPajakResponse() + return +} + +func (c *CoreService) DeleteWajibPajakList(ctx context.Context, request *structs.DeleteWajibpajakListRequest) (r *structs.DeleteWajibpajakListResponse, err error) { + c.logger.Infow("delete wajib pajak request", "req", request) + var user *structs.User + if user, err = c.getAndCheckSession(ctx); err != nil { + return + } + _ = user + + if err = c.checkRequest(ctx, request); err != nil { + return + } + + var targetWps []*structs.WajibPajak + tx := c.db. + Where("id IN ?", request.WpIds). + Select("id"). + Preload("Owners"). + Find(&targetWps) + if err = tx.Error; err != nil { + err = c.wrapServiceError(err) + return + } + + var ( + qsTargetWps []*structs.WajibPajak + idsSuccess []int64 + idsIgnored []int64 + ) + + err = c.db.Transaction(func(tx *gorm.DB) (err error) { + for _, targetWp := range targetWps { + var found bool + for _, owner := range targetWp.Owners { + if owner.ID == user.ID { + qsTargetWps = append(qsTargetWps, targetWp) + found = true + break + } + } + if found { + idsSuccess = append(idsSuccess, targetWp.ID) + } else { + idsIgnored = append(idsIgnored, targetWp.ID) + } + } + tx = tx.Delete(qsTargetWps) + if err = tx.Error; err != nil { + err = c.wrapServiceError(err) + return + } + return + }) + if err != nil { + err = c.wrapServiceError(err) + return + } + + r = structs.NewDeleteWajibpajakListResponse() + r.Success = idsSuccess + r.Ignored = idsIgnored + return +} diff --git a/internal/biz/core/util.go b/internal/biz/core/util.go new file mode 100644 index 0000000..2c4376c --- /dev/null +++ b/internal/biz/core/util.go @@ -0,0 +1,18 @@ +package coresvc + +import ( + "crypto/sha256" + "encoding/base64" + + "golang.org/x/crypto/pbkdf2" +) + +var ( + pswIter = 2 << 11 + pswLength = 50 // raw length +) + +func passwordHasher(plain string, salt []byte) string { + psw := pbkdf2.Key([]byte(plain), salt, pswIter, pswLength, sha256.New) + return base64.StdEncoding.EncodeToString(psw) +} diff --git a/internal/context.go b/internal/context.go new file mode 100644 index 0000000..7f54159 --- /dev/null +++ b/internal/context.go @@ -0,0 +1,84 @@ +package internal + +import ( + "context" + "sync" + "sync/atomic" + + "go.uber.org/zap" +) + +type contextKey string + +var ( + contextKeyApp contextKey = "application-context" +) + +func WithAppContext(ctx context.Context, appCtx *AppContext) context.Context { + appCtx.parent = ctx + return context.WithValue(ctx, contextKeyApp, appCtx) +} + +func GetAppContext(ctx context.Context) *AppContext { + return ctx.Value(contextKeyApp).(*AppContext) +} + +type AppContext struct { + parent context.Context + + Logger *zap.Logger + Data map[string]any + Cancel context.CancelFunc + + task []task + taskCnt atomic.Int32 + taskDone atomic.Int32 + wg sync.WaitGroup +} + +func (c AppContext) Init() AppContext { + c.Data = make(map[string]any) + return c +} + +func (c *AppContext) GetContext() context.Context { + ctx, cancel := context.WithCancel(c.parent) + c.task = append(c.task, task{ + ctx: ctx, + cancel: cancel, + }) + return ctx +} + +// DoTask spawn task on a goroutine +func (p *AppContext) DoTask(f func(ctx context.Context)) { + ctx := p.GetContext() + p.wg.Add(1) + p.taskCnt.Add(1) + go func() { + defer p.wg.Done() + defer p.taskDone.Add(1) + f(ctx) + }() +} + +func (p *AppContext) TaskCount() int { + return int(p.taskCnt.Load()) +} + +func (p *AppContext) TaskDone() int { + return int(p.taskDone.Load()) +} + +func (p *AppContext) TaskRemaining() int { + return p.TaskCount() - p.TaskDone() +} + +func (p *AppContext) WaitTask() { + p.wg.Wait() +} + +type task struct { + ctx context.Context + cancel context.CancelFunc +} diff --git a/internal/http/server.go b/internal/http/server.go new file mode 100644 index 0000000..97cd902 --- /dev/null +++ b/internal/http/server.go @@ -0,0 +1,167 @@ +package http + +import ( + "bytes" + "context" + "mime" + "net/http" + "strings" + "time" + + "wpw-common/internal" + "wpw-common/public" + + "github.com/apache/thrift/lib/go/thrift" + "github.com/gofiber/fiber/v2" + "github.com/gofiber/fiber/v2/middleware/cors" + "github.com/gofiber/fiber/v2/middleware/filesystem" + "github.com/gofiber/fiber/v2/middleware/recover" + "github.com/gofiber/fiber/v2/middleware/session" + "go.uber.org/zap" +) + +var ( + defaultServer = newServer() + Session = session.New(session.Config{ + KeyLookup: "header:X-Hub-Track-Token", + }) + + thriftContentType = []byte("application/x-thrift") + + contextKeyFiber contextKey = "fiber-app" + + hubHeader = []string{ + "X-Hub-Env", + "X-Hub-App", + "X-Hub-Version", + "X-Hub-App", + "X-Hub-Track-Token", + "X-Hub-Auth-Token", + } +) + +type contextKey string + +type server struct { + pCtx context.Context + app *fiber.App + logger *zap.SugaredLogger +} + +func newServer() *server { + app := fiber.New() + + app.Use(recover.New()) + + app.Use(cors.New(cors.Config{ + // AllowOrigins: "https://gofiber.io, https://gofiber.net", + AllowOrigins: "*", + AllowHeaders: strings.Join(append([]string{ + "Origin", + "Content-Type", + "Accept", + }, hubHeader...), ", "), + ExposeHeaders: strings.Join(hubHeader, ", "), + })) + + app.Use(filesystem.New(filesystem.Config{ + Root: http.FS(public.FS), + Browse: false, + Index: "index.html", + MaxAge: 3000, + NotFoundFile: "index.html", + })) + + srv := &server{app: app} + return srv +} + +func (s *server) registerService(path string, p thrift.TProcessor) { + processorFactory := thrift.NewTProcessorFactory(p) + protocolFactory := thrift.NewTCompactProtocolFactoryConf(&thrift.TConfiguration{}) + contentTypeResp := mime.FormatMediaType(string(thriftContentType), map[string]string{ + "charset": "utf-8", + "protocol": "TCOMPACT", + }) + + s.app.Post(path, func(c *fiber.Ctx) error { + mBegin := time.Now() + var mDur time.Duration + + c.Response().Header.Set("Content-Type", contentTypeResp) + if !bytes.HasPrefix(c.Request().Header.ContentType(), thriftContentType) { + c.Response().Header.Set("x-error-type", "bad-request") + c.Response().Header.Set("x-error-message", "bad request") + return c.SendStatus(400) + } + + body := c.Context().Request.Body() + transport := thrift.NewStreamTransport(bytes.NewReader(body), c) + protocol := protocolFactory.GetProtocol(transport) + + // put fiber ctx to the context + ctx := WithFiberContext(s.pCtx, c) + + // process method + handled, err := processorFactory.GetProcessor(transport).Process(ctx, protocol, protocol) + if err != nil { + s.logger.Errorw("process method", "err", err) + switch err.(type) { + case thrift.TTransportException: + c.Response().Header.Set("x-error-type", "transport-exception") + c.Response().Header.Set("x-error-message", err.Error()) + goto internal_error + case thrift.TProtocolException: + c.Response().Header.Set("x-error-type", "protocol-exception") + c.Response().Header.Set("x-error-message", err.Error()) + goto internal_error + case thrift.TApplicationException: + c.Response().Header.Set("x-error-type", "application-exception") + c.Response().Header.Set("x-error-message", err.Error()) + default: + c.Response().Header.Set("x-error-type", "exception") + c.Response().Header.Set("x-error-message", err.Error()) + } + } + + mDur = time.Since(mBegin) + c.Response().Header.Set("x-trace-duration", mDur.String()) + + _ = handled + if err := protocol.Flush(c.Context()); err != nil { + return err + } + return c.SendStatus(200) + internal_error: + // do something! + return c.SendStatus(200) + }) +} + +func (s *server) run(appCtx *internal.AppContext, addr string) error { + s.pCtx = internal.WithAppContext(context.Background(), appCtx) + s.logger = appCtx.Logger.Sugar().Named("httpsrv") + s.logger.Infow("starting server", + "addr", addr) + return s.app.Listen(addr) +} + +func Router() *fiber.App { + return defaultServer.app +} + +func GetFiberFromContext(ctx context.Context) *fiber.Ctx { + return ctx.Value(contextKeyFiber).(*fiber.Ctx) +} + +func WithFiberContext(ctx context.Context, c *fiber.Ctx) context.Context { + return context.WithValue(ctx, contextKeyFiber, c) +} + +func RegisterService(path string, p thrift.TProcessor) { + defaultServer.registerService(path, p) +} + +func Run(appCtx *internal.AppContext, addr string) error { + return defaultServer.run(appCtx, addr) +} diff --git a/internal/system/system.go b/internal/system/system.go new file mode 100644 index 0000000..1d8b74a --- /dev/null +++ b/internal/system/system.go @@ -0,0 +1,61 @@ +package system + +import ( + "wpw-common/internal" + + "go.uber.org/zap" + + "gorm.io/gorm" +) + +type SystemKV struct { + gorm.Model + Key string + Value string +} + +type system struct { + logger *zap.SugaredLogger + db *gorm.DB +} + +var Default system + +func (s *system) init(appCtx *internal.AppContext) { + logger := appCtx.Logger.Sugar().Named("system") + db, exist := appCtx.Data["db"] + if !exist { + logger.Fatal("system requires `db` in application context") + } + s.logger = logger + s.db = db.(*gorm.DB) + s.db.AutoMigrate(&SystemKV{}) +} + +func (s *system) DoOnce(key string, fn func() error) (err error) { + var kv SystemKV + kv.Key = key + tx := s.db.First(&kv) + if err = tx.Error; err == gorm.ErrRecordNotFound { + s.logger.Info("doOnce call", + "key", key) + if err = fn(); err != nil { + + return + } + tx = s.db.Create(&kv) + if err = tx.Error; err != nil { + return + } + } else if err == nil { + s.logger.Infow("doOnce done", + "key", key, + "at", kv.CreatedAt) + return + } + return +} + +func Init(appCtx *internal.AppContext) { + Default.init(appCtx) +} diff --git a/internal/vdext/validator.go b/internal/vdext/validator.go new file mode 100644 index 0000000..4118bec --- /dev/null +++ b/internal/vdext/validator.go @@ -0,0 +1,31 @@ +package vdext + +import ( + "github.com/go-playground/locales" + "github.com/go-playground/locales/en" + uts "github.com/go-playground/universal-translator" + "github.com/go-playground/validator/v10" + en_translations "github.com/go-playground/validator/v10/translations/en" +) + +var ( + languages = []locales.Translator{ + en.New(), + } + uni = initI8n() +) + +func initI8n() *uts.UniversalTranslator { + return uts.New(languages[0], languages[1:]...) +} + +func New(tagName string) *validator.Validate { + vd := validator.New() + + if trans, found := uni.GetTranslator("en"); found { + en_translations.RegisterDefaultTranslations(vd, trans) + } + + vd.SetTagName(tagName) + return vd +} diff --git a/pkg/gen/biz/core/exceptions/exceptions.go b/pkg/gen/biz/core/exceptions/exceptions.go new file mode 100644 index 0000000..b53e3a9 --- /dev/null +++ b/pkg/gen/biz/core/exceptions/exceptions.go @@ -0,0 +1,330 @@ +// Code generated by thriftgo (0.2.1). DO NOT EDIT. + +package exceptions + +import ( + "context" + "fmt" + "github.com/apache/thrift/lib/go/thrift" + "github.com/cloudwego/thriftgo/generator/golang/extension/meta" + "github.com/cloudwego/thriftgo/generator/golang/extension/unknown" +) + +type CoreServicesException struct { + Code int32 `thrift:"code,1" frugal:"1,default,i32" db:"code" json:"code"` + Message string `thrift:"message,2" frugal:"2,default,string" db:"message" json:"message"` + Parameters map[string]string `thrift:"parameters,3" frugal:"3,default,map" db:"parameters" json:"parameters"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewCoreServicesException, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0x15, 0x43, + 0x6f, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x73, 0x45, 0x78, 0x63, 0x65, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0xb, 0x0, 0x2, 0x0, + 0x0, 0x0, 0x9, 0x65, 0x78, 0x63, 0x65, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0xf, 0x0, 0x3, 0xc, + 0x0, 0x0, 0x0, 0x3, 0x6, 0x0, 0x1, 0x0, + 0x1, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x4, + 0x63, 0x6f, 0x64, 0x65, 0x8, 0x0, 0x3, 0x0, + 0x0, 0x0, 0x0, 0xc, 0x0, 0x4, 0x8, 0x0, + 0x1, 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x6, + 0x0, 0x1, 0x0, 0x2, 0xb, 0x0, 0x2, 0x0, + 0x0, 0x0, 0x7, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, + 0x0, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, + 0x0, 0x0, 0xb, 0x0, 0x0, 0x6, 0x0, 0x1, + 0x0, 0x3, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, + 0xa, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x73, 0x8, 0x0, 0x3, 0x0, 0x0, + 0x0, 0x0, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, + 0x0, 0x0, 0x0, 0xd, 0xc, 0x0, 0x2, 0x8, + 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0xc, + 0x0, 0x3, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, + 0xb, 0x0, 0x0, 0x0, 0x0, + }) +} + +func NewCoreServicesException() *CoreServicesException { + return &CoreServicesException{} +} + +func (p *CoreServicesException) InitDefault() { + *p = CoreServicesException{} +} + +func (p *CoreServicesException) GetCode() (v int32) { + return p.Code +} + +func (p *CoreServicesException) GetMessage() (v string) { + return p.Message +} + +func (p *CoreServicesException) GetParameters() (v map[string]string) { + return p.Parameters +} +func (p *CoreServicesException) SetCode(val int32) { + p.Code = val +} +func (p *CoreServicesException) SetMessage(val string) { + p.Message = val +} +func (p *CoreServicesException) SetParameters(val map[string]string) { + p.Parameters = val +} + +func (p *CoreServicesException) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_CoreServicesException = map[int16]string{ + 1: "code", + 2: "message", + 3: "parameters", +} + +func (p *CoreServicesException) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err = p.ReadField2(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 3: + if fieldTypeId == thrift.MAP { + if err = p.ReadField3(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_CoreServicesException[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *CoreServicesException) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return err + } else { + p.Code = v + } + return nil +} + +func (p *CoreServicesException) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return err + } else { + p.Message = v + } + return nil +} + +func (p *CoreServicesException) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return err + } + p.Parameters = make(map[string]string, size) + for i := 0; i < size; i++ { + var _key string + if v, err := iprot.ReadString(ctx); err != nil { + return err + } else { + _key = v + } + + var _val string + if v, err := iprot.ReadString(ctx); err != nil { + return err + } else { + _val = v + } + + p.Parameters[_key] = _val + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return err + } + return nil +} + +func (p *CoreServicesException) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "CoreServicesException"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField2(ctx, oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + if err = p.writeField3(ctx, oprot); err != nil { + fieldId = 3 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *CoreServicesException) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "code", thrift.I32, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI32(ctx, p.Code); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *CoreServicesException) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "message", thrift.STRING, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(ctx, p.Message); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} + +func (p *CoreServicesException) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "parameters", thrift.MAP, 3); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.STRING, len(p.Parameters)); err != nil { + return err + } + for k, v := range p.Parameters { + + if err := oprot.WriteString(ctx, k); err != nil { + return err + } + + if err := oprot.WriteString(ctx, v); err != nil { + return err + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) +} + +func (p *CoreServicesException) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("CoreServicesException(%+v)", *p) +} +func (p *CoreServicesException) Error() string { + return p.String() +} diff --git a/pkg/gen/biz/core/service.go b/pkg/gen/biz/core/service.go new file mode 100644 index 0000000..b2bcbe5 --- /dev/null +++ b/pkg/gen/biz/core/service.go @@ -0,0 +1,4611 @@ +// Code generated by thriftgo (0.2.1). DO NOT EDIT. + +package core + +import ( + "context" + "fmt" + "github.com/apache/thrift/lib/go/thrift" + "github.com/cloudwego/thriftgo/generator/golang/extension/meta" + "github.com/cloudwego/thriftgo/generator/golang/extension/unknown" + "wpw-common/pkg/gen/biz/core/exceptions" + "wpw-common/pkg/gen/biz/core/structs" +) + +type CoreService interface { + // oneway void asd() + Login(ctx context.Context, request *structs.LoginRequest) (r *structs.LoginResponse, err error) + //@authenticated + GetProfile(ctx context.Context, request *structs.GetProfileRequest) (r *structs.GetProfileResponse, err error) + //@authenticated + Logout(ctx context.Context, request *structs.LogoutRequest) (r *structs.LogoutResponse, err error) + //@authenticated + //@role(Admin) + // Get list of users registered in system + GetUserList(ctx context.Context, request *structs.GetUserListRequest) (r *structs.GetUserListResponse, err error) + //@authenticated + //@role(Admin) + CreateUser(ctx context.Context, request *structs.CreateUserRequest) (r *structs.CreateUserResponse, err error) + //@authenticated + //@role(Admin) + DeleteUsers(ctx context.Context, request *structs.DeleteUsersRequest) (r *structs.DeleteUsersResponse, err error) + //@authenticated + //@role(All) + // Get list of accessible WajibPajak by OWNED|ROLE + GetWajibPajakList(ctx context.Context, request *structs.GetWajibPajakListRequest) (r *structs.GetWajibPajakListResponse, err error) + //@authenticated + //@role(All) + // Create WajibPajak + CreateWajibPajak(ctx context.Context, request *structs.CreateWajibPajakRequest) (r *structs.CreateWajibPajakResponse, err error) + //@authenticated + //@role(All) + DeleteWajibPajakList(ctx context.Context, request *structs.DeleteWajibpajakListRequest) (r *structs.DeleteWajibpajakListResponse, err error) +} + +type CoreServiceClient struct { + c thrift.TClient +} + +func NewCoreServiceClientFactory(t thrift.TTransport, f thrift.TProtocolFactory) *CoreServiceClient { + return &CoreServiceClient{ + c: thrift.NewTStandardClient(f.GetProtocol(t), f.GetProtocol(t)), + } +} + +func NewCoreServiceClientProtocol(t thrift.TTransport, iprot thrift.TProtocol, oprot thrift.TProtocol) *CoreServiceClient { + return &CoreServiceClient{ + c: thrift.NewTStandardClient(iprot, oprot), + } +} + +func NewCoreServiceClient(c thrift.TClient) *CoreServiceClient { + return &CoreServiceClient{ + c: c, + } +} + +func (p *CoreServiceClient) Client_() thrift.TClient { + return p.c +} + +func (p *CoreServiceClient) Login(ctx context.Context, request *structs.LoginRequest) (r *structs.LoginResponse, err error) { + var _args CoreServiceLoginArgs + _args.Request = request + var _result CoreServiceLoginResult + if _, err = p.Client_().Call(ctx, "login", &_args, &_result); err != nil { + return + } + switch { + case _result.E != nil: + return r, _result.E + } + return _result.GetSuccess(), nil +} +func (p *CoreServiceClient) GetProfile(ctx context.Context, request *structs.GetProfileRequest) (r *structs.GetProfileResponse, err error) { + var _args CoreServiceGetProfileArgs + _args.Request = request + var _result CoreServiceGetProfileResult + if _, err = p.Client_().Call(ctx, "getProfile", &_args, &_result); err != nil { + return + } + switch { + case _result.E != nil: + return r, _result.E + } + return _result.GetSuccess(), nil +} +func (p *CoreServiceClient) Logout(ctx context.Context, request *structs.LogoutRequest) (r *structs.LogoutResponse, err error) { + var _args CoreServiceLogoutArgs + _args.Request = request + var _result CoreServiceLogoutResult + if _, err = p.Client_().Call(ctx, "logout", &_args, &_result); err != nil { + return + } + switch { + case _result.E != nil: + return r, _result.E + } + return _result.GetSuccess(), nil +} +func (p *CoreServiceClient) GetUserList(ctx context.Context, request *structs.GetUserListRequest) (r *structs.GetUserListResponse, err error) { + var _args CoreServiceGetUserListArgs + _args.Request = request + var _result CoreServiceGetUserListResult + if _, err = p.Client_().Call(ctx, "getUserList", &_args, &_result); err != nil { + return + } + switch { + case _result.E != nil: + return r, _result.E + } + return _result.GetSuccess(), nil +} +func (p *CoreServiceClient) CreateUser(ctx context.Context, request *structs.CreateUserRequest) (r *structs.CreateUserResponse, err error) { + var _args CoreServiceCreateUserArgs + _args.Request = request + var _result CoreServiceCreateUserResult + if _, err = p.Client_().Call(ctx, "createUser", &_args, &_result); err != nil { + return + } + switch { + case _result.E != nil: + return r, _result.E + } + return _result.GetSuccess(), nil +} +func (p *CoreServiceClient) DeleteUsers(ctx context.Context, request *structs.DeleteUsersRequest) (r *structs.DeleteUsersResponse, err error) { + var _args CoreServiceDeleteUsersArgs + _args.Request = request + var _result CoreServiceDeleteUsersResult + if _, err = p.Client_().Call(ctx, "deleteUsers", &_args, &_result); err != nil { + return + } + switch { + case _result.E != nil: + return r, _result.E + } + return _result.GetSuccess(), nil +} +func (p *CoreServiceClient) GetWajibPajakList(ctx context.Context, request *structs.GetWajibPajakListRequest) (r *structs.GetWajibPajakListResponse, err error) { + var _args CoreServiceGetWajibPajakListArgs + _args.Request = request + var _result CoreServiceGetWajibPajakListResult + if _, err = p.Client_().Call(ctx, "getWajibPajakList", &_args, &_result); err != nil { + return + } + switch { + case _result.E != nil: + return r, _result.E + } + return _result.GetSuccess(), nil +} +func (p *CoreServiceClient) CreateWajibPajak(ctx context.Context, request *structs.CreateWajibPajakRequest) (r *structs.CreateWajibPajakResponse, err error) { + var _args CoreServiceCreateWajibPajakArgs + _args.Request = request + var _result CoreServiceCreateWajibPajakResult + if _, err = p.Client_().Call(ctx, "createWajibPajak", &_args, &_result); err != nil { + return + } + switch { + case _result.E != nil: + return r, _result.E + } + return _result.GetSuccess(), nil +} +func (p *CoreServiceClient) DeleteWajibPajakList(ctx context.Context, request *structs.DeleteWajibpajakListRequest) (r *structs.DeleteWajibpajakListResponse, err error) { + var _args CoreServiceDeleteWajibPajakListArgs + _args.Request = request + var _result CoreServiceDeleteWajibPajakListResult + if _, err = p.Client_().Call(ctx, "deleteWajibPajakList", &_args, &_result); err != nil { + return + } + switch { + case _result.E != nil: + return r, _result.E + } + return _result.GetSuccess(), nil +} + +type CoreServiceProcessor struct { + processorMap map[string]thrift.TProcessorFunction + handler CoreService +} + +func (p *CoreServiceProcessor) AddToProcessorMap(key string, processor thrift.TProcessorFunction) { + p.processorMap[key] = processor +} + +func (p *CoreServiceProcessor) GetProcessorFunction(key string) (processor thrift.TProcessorFunction, ok bool) { + processor, ok = p.processorMap[key] + return processor, ok +} + +func (p *CoreServiceProcessor) ProcessorMap() map[string]thrift.TProcessorFunction { + return p.processorMap +} + +func NewCoreServiceProcessor(handler CoreService) *CoreServiceProcessor { + self := &CoreServiceProcessor{handler: handler, processorMap: make(map[string]thrift.TProcessorFunction)} + self.AddToProcessorMap("login", &coreServiceProcessorLogin{handler: handler}) + self.AddToProcessorMap("getProfile", &coreServiceProcessorGetProfile{handler: handler}) + self.AddToProcessorMap("logout", &coreServiceProcessorLogout{handler: handler}) + self.AddToProcessorMap("getUserList", &coreServiceProcessorGetUserList{handler: handler}) + self.AddToProcessorMap("createUser", &coreServiceProcessorCreateUser{handler: handler}) + self.AddToProcessorMap("deleteUsers", &coreServiceProcessorDeleteUsers{handler: handler}) + self.AddToProcessorMap("getWajibPajakList", &coreServiceProcessorGetWajibPajakList{handler: handler}) + self.AddToProcessorMap("createWajibPajak", &coreServiceProcessorCreateWajibPajak{handler: handler}) + self.AddToProcessorMap("deleteWajibPajakList", &coreServiceProcessorDeleteWajibPajakList{handler: handler}) + return self +} +func (p *CoreServiceProcessor) Process(ctx context.Context, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + name, _, seqId, err2 := iprot.ReadMessageBegin(ctx) + if err2 != nil { + return false, thrift.WrapTException(err2) + } + if processor, ok := p.GetProcessorFunction(name); ok { + return processor.Process(ctx, seqId, iprot, oprot) + } + iprot.Skip(ctx, thrift.STRUCT) + iprot.ReadMessageEnd(ctx) + x := thrift.NewTApplicationException(thrift.UNKNOWN_METHOD, "Unknown function "+name) + oprot.WriteMessageBegin(ctx, name, thrift.EXCEPTION, seqId) + x.Write(ctx, oprot) + oprot.WriteMessageEnd(ctx) + oprot.Flush(ctx) + return false, x +} + +type coreServiceProcessorLogin struct { + handler CoreService +} + +func (p *coreServiceProcessorLogin) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := CoreServiceLoginArgs{} + var err2 error + if err2 = args.Read(ctx, iprot); err2 != nil { + iprot.ReadMessageEnd(ctx) + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error()) + oprot.WriteMessageBegin(ctx, "login", thrift.EXCEPTION, seqId) + x.Write(ctx, oprot) + oprot.WriteMessageEnd(ctx) + oprot.Flush(ctx) + return false, thrift.WrapTException(err2) + } + + iprot.ReadMessageEnd(ctx) + result := CoreServiceLoginResult{} + var retval *structs.LoginResponse + if retval, err2 = p.handler.Login(ctx, args.Request); err2 != nil { + switch v := err2.(type) { + case *exceptions.CoreServicesException: + result.E = v + default: + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing login: "+err2.Error()) + oprot.WriteMessageBegin(ctx, "login", thrift.EXCEPTION, seqId) + x.Write(ctx, oprot) + oprot.WriteMessageEnd(ctx) + oprot.Flush(ctx) + return true, thrift.WrapTException(err2) + } + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin(ctx, "login", thrift.REPLY, seqId); err2 != nil { + goto reply_err + } + if err2 = result.Write(ctx, oprot); err == nil && err2 != nil { + goto reply_err + } + if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil { + goto reply_err + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + goto reply_err + } + if err != nil { + return + } + return true, err +reply_err: + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error on response login: "+err2.Error()) + oprot.WriteMessageBegin(ctx, "login", thrift.EXCEPTION, seqId) + x.Write(ctx, oprot) + oprot.WriteMessageEnd(ctx) + oprot.Flush(ctx) + err = thrift.WrapTException(err2) + return +} + +type coreServiceProcessorGetProfile struct { + handler CoreService +} + +func (p *coreServiceProcessorGetProfile) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := CoreServiceGetProfileArgs{} + var err2 error + if err2 = args.Read(ctx, iprot); err2 != nil { + iprot.ReadMessageEnd(ctx) + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error()) + oprot.WriteMessageBegin(ctx, "getProfile", thrift.EXCEPTION, seqId) + x.Write(ctx, oprot) + oprot.WriteMessageEnd(ctx) + oprot.Flush(ctx) + return false, thrift.WrapTException(err2) + } + + iprot.ReadMessageEnd(ctx) + result := CoreServiceGetProfileResult{} + var retval *structs.GetProfileResponse + if retval, err2 = p.handler.GetProfile(ctx, args.Request); err2 != nil { + switch v := err2.(type) { + case *exceptions.CoreServicesException: + result.E = v + default: + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing getProfile: "+err2.Error()) + oprot.WriteMessageBegin(ctx, "getProfile", thrift.EXCEPTION, seqId) + x.Write(ctx, oprot) + oprot.WriteMessageEnd(ctx) + oprot.Flush(ctx) + return true, thrift.WrapTException(err2) + } + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin(ctx, "getProfile", thrift.REPLY, seqId); err2 != nil { + goto reply_err + } + if err2 = result.Write(ctx, oprot); err == nil && err2 != nil { + goto reply_err + } + if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil { + goto reply_err + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + goto reply_err + } + if err != nil { + return + } + return true, err +reply_err: + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error on response getProfile: "+err2.Error()) + oprot.WriteMessageBegin(ctx, "getProfile", thrift.EXCEPTION, seqId) + x.Write(ctx, oprot) + oprot.WriteMessageEnd(ctx) + oprot.Flush(ctx) + err = thrift.WrapTException(err2) + return +} + +type coreServiceProcessorLogout struct { + handler CoreService +} + +func (p *coreServiceProcessorLogout) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := CoreServiceLogoutArgs{} + var err2 error + if err2 = args.Read(ctx, iprot); err2 != nil { + iprot.ReadMessageEnd(ctx) + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error()) + oprot.WriteMessageBegin(ctx, "logout", thrift.EXCEPTION, seqId) + x.Write(ctx, oprot) + oprot.WriteMessageEnd(ctx) + oprot.Flush(ctx) + return false, thrift.WrapTException(err2) + } + + iprot.ReadMessageEnd(ctx) + result := CoreServiceLogoutResult{} + var retval *structs.LogoutResponse + if retval, err2 = p.handler.Logout(ctx, args.Request); err2 != nil { + switch v := err2.(type) { + case *exceptions.CoreServicesException: + result.E = v + default: + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing logout: "+err2.Error()) + oprot.WriteMessageBegin(ctx, "logout", thrift.EXCEPTION, seqId) + x.Write(ctx, oprot) + oprot.WriteMessageEnd(ctx) + oprot.Flush(ctx) + return true, thrift.WrapTException(err2) + } + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin(ctx, "logout", thrift.REPLY, seqId); err2 != nil { + goto reply_err + } + if err2 = result.Write(ctx, oprot); err == nil && err2 != nil { + goto reply_err + } + if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil { + goto reply_err + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + goto reply_err + } + if err != nil { + return + } + return true, err +reply_err: + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error on response logout: "+err2.Error()) + oprot.WriteMessageBegin(ctx, "logout", thrift.EXCEPTION, seqId) + x.Write(ctx, oprot) + oprot.WriteMessageEnd(ctx) + oprot.Flush(ctx) + err = thrift.WrapTException(err2) + return +} + +type coreServiceProcessorGetUserList struct { + handler CoreService +} + +func (p *coreServiceProcessorGetUserList) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := CoreServiceGetUserListArgs{} + var err2 error + if err2 = args.Read(ctx, iprot); err2 != nil { + iprot.ReadMessageEnd(ctx) + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error()) + oprot.WriteMessageBegin(ctx, "getUserList", thrift.EXCEPTION, seqId) + x.Write(ctx, oprot) + oprot.WriteMessageEnd(ctx) + oprot.Flush(ctx) + return false, thrift.WrapTException(err2) + } + + iprot.ReadMessageEnd(ctx) + result := CoreServiceGetUserListResult{} + var retval *structs.GetUserListResponse + if retval, err2 = p.handler.GetUserList(ctx, args.Request); err2 != nil { + switch v := err2.(type) { + case *exceptions.CoreServicesException: + result.E = v + default: + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing getUserList: "+err2.Error()) + oprot.WriteMessageBegin(ctx, "getUserList", thrift.EXCEPTION, seqId) + x.Write(ctx, oprot) + oprot.WriteMessageEnd(ctx) + oprot.Flush(ctx) + return true, thrift.WrapTException(err2) + } + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin(ctx, "getUserList", thrift.REPLY, seqId); err2 != nil { + goto reply_err + } + if err2 = result.Write(ctx, oprot); err == nil && err2 != nil { + goto reply_err + } + if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil { + goto reply_err + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + goto reply_err + } + if err != nil { + return + } + return true, err +reply_err: + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error on response getUserList: "+err2.Error()) + oprot.WriteMessageBegin(ctx, "getUserList", thrift.EXCEPTION, seqId) + x.Write(ctx, oprot) + oprot.WriteMessageEnd(ctx) + oprot.Flush(ctx) + err = thrift.WrapTException(err2) + return +} + +type coreServiceProcessorCreateUser struct { + handler CoreService +} + +func (p *coreServiceProcessorCreateUser) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := CoreServiceCreateUserArgs{} + var err2 error + if err2 = args.Read(ctx, iprot); err2 != nil { + iprot.ReadMessageEnd(ctx) + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error()) + oprot.WriteMessageBegin(ctx, "createUser", thrift.EXCEPTION, seqId) + x.Write(ctx, oprot) + oprot.WriteMessageEnd(ctx) + oprot.Flush(ctx) + return false, thrift.WrapTException(err2) + } + + iprot.ReadMessageEnd(ctx) + result := CoreServiceCreateUserResult{} + var retval *structs.CreateUserResponse + if retval, err2 = p.handler.CreateUser(ctx, args.Request); err2 != nil { + switch v := err2.(type) { + case *exceptions.CoreServicesException: + result.E = v + default: + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing createUser: "+err2.Error()) + oprot.WriteMessageBegin(ctx, "createUser", thrift.EXCEPTION, seqId) + x.Write(ctx, oprot) + oprot.WriteMessageEnd(ctx) + oprot.Flush(ctx) + return true, thrift.WrapTException(err2) + } + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin(ctx, "createUser", thrift.REPLY, seqId); err2 != nil { + goto reply_err + } + if err2 = result.Write(ctx, oprot); err == nil && err2 != nil { + goto reply_err + } + if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil { + goto reply_err + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + goto reply_err + } + if err != nil { + return + } + return true, err +reply_err: + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error on response createUser: "+err2.Error()) + oprot.WriteMessageBegin(ctx, "createUser", thrift.EXCEPTION, seqId) + x.Write(ctx, oprot) + oprot.WriteMessageEnd(ctx) + oprot.Flush(ctx) + err = thrift.WrapTException(err2) + return +} + +type coreServiceProcessorDeleteUsers struct { + handler CoreService +} + +func (p *coreServiceProcessorDeleteUsers) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := CoreServiceDeleteUsersArgs{} + var err2 error + if err2 = args.Read(ctx, iprot); err2 != nil { + iprot.ReadMessageEnd(ctx) + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error()) + oprot.WriteMessageBegin(ctx, "deleteUsers", thrift.EXCEPTION, seqId) + x.Write(ctx, oprot) + oprot.WriteMessageEnd(ctx) + oprot.Flush(ctx) + return false, thrift.WrapTException(err2) + } + + iprot.ReadMessageEnd(ctx) + result := CoreServiceDeleteUsersResult{} + var retval *structs.DeleteUsersResponse + if retval, err2 = p.handler.DeleteUsers(ctx, args.Request); err2 != nil { + switch v := err2.(type) { + case *exceptions.CoreServicesException: + result.E = v + default: + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing deleteUsers: "+err2.Error()) + oprot.WriteMessageBegin(ctx, "deleteUsers", thrift.EXCEPTION, seqId) + x.Write(ctx, oprot) + oprot.WriteMessageEnd(ctx) + oprot.Flush(ctx) + return true, thrift.WrapTException(err2) + } + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin(ctx, "deleteUsers", thrift.REPLY, seqId); err2 != nil { + goto reply_err + } + if err2 = result.Write(ctx, oprot); err == nil && err2 != nil { + goto reply_err + } + if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil { + goto reply_err + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + goto reply_err + } + if err != nil { + return + } + return true, err +reply_err: + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error on response deleteUsers: "+err2.Error()) + oprot.WriteMessageBegin(ctx, "deleteUsers", thrift.EXCEPTION, seqId) + x.Write(ctx, oprot) + oprot.WriteMessageEnd(ctx) + oprot.Flush(ctx) + err = thrift.WrapTException(err2) + return +} + +type coreServiceProcessorGetWajibPajakList struct { + handler CoreService +} + +func (p *coreServiceProcessorGetWajibPajakList) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := CoreServiceGetWajibPajakListArgs{} + var err2 error + if err2 = args.Read(ctx, iprot); err2 != nil { + iprot.ReadMessageEnd(ctx) + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error()) + oprot.WriteMessageBegin(ctx, "getWajibPajakList", thrift.EXCEPTION, seqId) + x.Write(ctx, oprot) + oprot.WriteMessageEnd(ctx) + oprot.Flush(ctx) + return false, thrift.WrapTException(err2) + } + + iprot.ReadMessageEnd(ctx) + result := CoreServiceGetWajibPajakListResult{} + var retval *structs.GetWajibPajakListResponse + if retval, err2 = p.handler.GetWajibPajakList(ctx, args.Request); err2 != nil { + switch v := err2.(type) { + case *exceptions.CoreServicesException: + result.E = v + default: + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing getWajibPajakList: "+err2.Error()) + oprot.WriteMessageBegin(ctx, "getWajibPajakList", thrift.EXCEPTION, seqId) + x.Write(ctx, oprot) + oprot.WriteMessageEnd(ctx) + oprot.Flush(ctx) + return true, thrift.WrapTException(err2) + } + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin(ctx, "getWajibPajakList", thrift.REPLY, seqId); err2 != nil { + goto reply_err + } + if err2 = result.Write(ctx, oprot); err == nil && err2 != nil { + goto reply_err + } + if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil { + goto reply_err + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + goto reply_err + } + if err != nil { + return + } + return true, err +reply_err: + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error on response getWajibPajakList: "+err2.Error()) + oprot.WriteMessageBegin(ctx, "getWajibPajakList", thrift.EXCEPTION, seqId) + x.Write(ctx, oprot) + oprot.WriteMessageEnd(ctx) + oprot.Flush(ctx) + err = thrift.WrapTException(err2) + return +} + +type coreServiceProcessorCreateWajibPajak struct { + handler CoreService +} + +func (p *coreServiceProcessorCreateWajibPajak) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := CoreServiceCreateWajibPajakArgs{} + var err2 error + if err2 = args.Read(ctx, iprot); err2 != nil { + iprot.ReadMessageEnd(ctx) + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error()) + oprot.WriteMessageBegin(ctx, "createWajibPajak", thrift.EXCEPTION, seqId) + x.Write(ctx, oprot) + oprot.WriteMessageEnd(ctx) + oprot.Flush(ctx) + return false, thrift.WrapTException(err2) + } + + iprot.ReadMessageEnd(ctx) + result := CoreServiceCreateWajibPajakResult{} + var retval *structs.CreateWajibPajakResponse + if retval, err2 = p.handler.CreateWajibPajak(ctx, args.Request); err2 != nil { + switch v := err2.(type) { + case *exceptions.CoreServicesException: + result.E = v + default: + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing createWajibPajak: "+err2.Error()) + oprot.WriteMessageBegin(ctx, "createWajibPajak", thrift.EXCEPTION, seqId) + x.Write(ctx, oprot) + oprot.WriteMessageEnd(ctx) + oprot.Flush(ctx) + return true, thrift.WrapTException(err2) + } + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin(ctx, "createWajibPajak", thrift.REPLY, seqId); err2 != nil { + goto reply_err + } + if err2 = result.Write(ctx, oprot); err == nil && err2 != nil { + goto reply_err + } + if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil { + goto reply_err + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + goto reply_err + } + if err != nil { + return + } + return true, err +reply_err: + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error on response createWajibPajak: "+err2.Error()) + oprot.WriteMessageBegin(ctx, "createWajibPajak", thrift.EXCEPTION, seqId) + x.Write(ctx, oprot) + oprot.WriteMessageEnd(ctx) + oprot.Flush(ctx) + err = thrift.WrapTException(err2) + return +} + +type coreServiceProcessorDeleteWajibPajakList struct { + handler CoreService +} + +func (p *coreServiceProcessorDeleteWajibPajakList) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := CoreServiceDeleteWajibPajakListArgs{} + var err2 error + if err2 = args.Read(ctx, iprot); err2 != nil { + iprot.ReadMessageEnd(ctx) + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error()) + oprot.WriteMessageBegin(ctx, "deleteWajibPajakList", thrift.EXCEPTION, seqId) + x.Write(ctx, oprot) + oprot.WriteMessageEnd(ctx) + oprot.Flush(ctx) + return false, thrift.WrapTException(err2) + } + + iprot.ReadMessageEnd(ctx) + result := CoreServiceDeleteWajibPajakListResult{} + var retval *structs.DeleteWajibpajakListResponse + if retval, err2 = p.handler.DeleteWajibPajakList(ctx, args.Request); err2 != nil { + switch v := err2.(type) { + case *exceptions.CoreServicesException: + result.E = v + default: + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing deleteWajibPajakList: "+err2.Error()) + oprot.WriteMessageBegin(ctx, "deleteWajibPajakList", thrift.EXCEPTION, seqId) + x.Write(ctx, oprot) + oprot.WriteMessageEnd(ctx) + oprot.Flush(ctx) + return true, thrift.WrapTException(err2) + } + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin(ctx, "deleteWajibPajakList", thrift.REPLY, seqId); err2 != nil { + goto reply_err + } + if err2 = result.Write(ctx, oprot); err == nil && err2 != nil { + goto reply_err + } + if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil { + goto reply_err + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + goto reply_err + } + if err != nil { + return + } + return true, err +reply_err: + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error on response deleteWajibPajakList: "+err2.Error()) + oprot.WriteMessageBegin(ctx, "deleteWajibPajakList", thrift.EXCEPTION, seqId) + x.Write(ctx, oprot) + oprot.WriteMessageEnd(ctx) + oprot.Flush(ctx) + err = thrift.WrapTException(err2) + return +} + +type CoreServiceLoginArgs struct { + Request *structs.LoginRequest `thrift:"request,1" frugal:"1,default,structs.LoginRequest" db:"request" json:"request"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewCoreServiceLoginArgs, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0xa, 0x6c, + 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x61, 0x72, 0x67, + 0x73, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x6, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0xf, 0x0, + 0x3, 0xc, 0x0, 0x0, 0x0, 0x1, 0x6, 0x0, + 0x1, 0x0, 0x1, 0xb, 0x0, 0x2, 0x0, 0x0, + 0x0, 0x7, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, + 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, + 0x0, 0xc, 0x0, 0x0, 0x0, + }) +} + +func NewCoreServiceLoginArgs() *CoreServiceLoginArgs { + return &CoreServiceLoginArgs{} +} + +func (p *CoreServiceLoginArgs) InitDefault() { + *p = CoreServiceLoginArgs{} +} + +var CoreServiceLoginArgs_Request_DEFAULT *structs.LoginRequest + +func (p *CoreServiceLoginArgs) GetRequest() (v *structs.LoginRequest) { + if !p.IsSetRequest() { + return CoreServiceLoginArgs_Request_DEFAULT + } + return p.Request +} +func (p *CoreServiceLoginArgs) SetRequest(val *structs.LoginRequest) { + p.Request = val +} + +func (p *CoreServiceLoginArgs) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_CoreServiceLoginArgs = map[int16]string{ + 1: "request", +} + +func (p *CoreServiceLoginArgs) IsSetRequest() bool { + return p.Request != nil +} + +func (p *CoreServiceLoginArgs) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_CoreServiceLoginArgs[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *CoreServiceLoginArgs) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + p.Request = structs.NewLoginRequest() + if err := p.Request.Read(ctx, iprot); err != nil { + return err + } + return nil +} + +func (p *CoreServiceLoginArgs) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "login_args"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *CoreServiceLoginArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "request", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.Request.Write(ctx, oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *CoreServiceLoginArgs) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("CoreServiceLoginArgs(%+v)", *p) +} + +type CoreServiceLoginResult struct { + Success *structs.LoginResponse `thrift:"success,0,optional" frugal:"0,optional,structs.LoginResponse" db:"success" json:"success,omitempty"` + E *exceptions.CoreServicesException `thrift:"e,1,optional" frugal:"1,optional,exceptions.CoreServicesException" db:"e" json:"e,omitempty"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewCoreServiceLoginResult, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0xc, 0x6c, + 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0xb, 0x0, 0x2, 0x0, 0x0, + 0x0, 0x6, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0xf, 0x0, 0x3, 0xc, 0x0, 0x0, 0x0, 0x2, + 0x6, 0x0, 0x1, 0x0, 0x0, 0xb, 0x0, 0x2, + 0x0, 0x0, 0x0, 0x7, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x8, 0x0, 0x3, 0x0, 0x0, + 0x0, 0x2, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, + 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x6, 0x0, + 0x1, 0x0, 0x1, 0xb, 0x0, 0x2, 0x0, 0x0, + 0x0, 0x1, 0x65, 0x8, 0x0, 0x3, 0x0, 0x0, + 0x0, 0x2, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, + 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x0, + }) +} + +func NewCoreServiceLoginResult() *CoreServiceLoginResult { + return &CoreServiceLoginResult{} +} + +func (p *CoreServiceLoginResult) InitDefault() { + *p = CoreServiceLoginResult{} +} + +var CoreServiceLoginResult_Success_DEFAULT *structs.LoginResponse + +func (p *CoreServiceLoginResult) GetSuccess() (v *structs.LoginResponse) { + if !p.IsSetSuccess() { + return CoreServiceLoginResult_Success_DEFAULT + } + return p.Success +} + +var CoreServiceLoginResult_E_DEFAULT *exceptions.CoreServicesException + +func (p *CoreServiceLoginResult) GetE() (v *exceptions.CoreServicesException) { + if !p.IsSetE() { + return CoreServiceLoginResult_E_DEFAULT + } + return p.E +} +func (p *CoreServiceLoginResult) SetSuccess(x interface{}) { + p.Success = x.(*structs.LoginResponse) +} +func (p *CoreServiceLoginResult) SetE(val *exceptions.CoreServicesException) { + p.E = val +} + +func (p *CoreServiceLoginResult) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_CoreServiceLoginResult = map[int16]string{ + 0: "success", + 1: "e", +} + +func (p *CoreServiceLoginResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *CoreServiceLoginResult) IsSetE() bool { + return p.E != nil +} + +func (p *CoreServiceLoginResult) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 0: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField0(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_CoreServiceLoginResult[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *CoreServiceLoginResult) ReadField0(ctx context.Context, iprot thrift.TProtocol) error { + p.Success = structs.NewLoginResponse() + if err := p.Success.Read(ctx, iprot); err != nil { + return err + } + return nil +} + +func (p *CoreServiceLoginResult) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + p.E = exceptions.NewCoreServicesException() + if err := p.E.Read(ctx, iprot); err != nil { + return err + } + return nil +} + +func (p *CoreServiceLoginResult) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "login_result"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField0(ctx, oprot); err != nil { + fieldId = 0 + goto WriteFieldError + } + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *CoreServiceLoginResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err = oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil { + goto WriteFieldBeginError + } + if err := p.Success.Write(ctx, oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) +} + +func (p *CoreServiceLoginResult) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if p.IsSetE() { + if err = oprot.WriteFieldBegin(ctx, "e", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.E.Write(ctx, oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *CoreServiceLoginResult) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("CoreServiceLoginResult(%+v)", *p) +} + +type CoreServiceGetProfileArgs struct { + Request *structs.GetProfileRequest `thrift:"request,1" frugal:"1,default,structs.GetProfileRequest" db:"request" json:"request"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewCoreServiceGetProfileArgs, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0xf, 0x67, + 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x5f, 0x61, 0x72, 0x67, 0x73, 0xb, 0x0, + 0x2, 0x0, 0x0, 0x0, 0x6, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0xf, 0x0, 0x3, 0xc, 0x0, + 0x0, 0x0, 0x1, 0x6, 0x0, 0x1, 0x0, 0x1, + 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x7, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x8, 0x0, + 0x3, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0x4, + 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xc, 0x0, + 0x0, 0x0, + }) +} + +func NewCoreServiceGetProfileArgs() *CoreServiceGetProfileArgs { + return &CoreServiceGetProfileArgs{} +} + +func (p *CoreServiceGetProfileArgs) InitDefault() { + *p = CoreServiceGetProfileArgs{} +} + +var CoreServiceGetProfileArgs_Request_DEFAULT *structs.GetProfileRequest + +func (p *CoreServiceGetProfileArgs) GetRequest() (v *structs.GetProfileRequest) { + if !p.IsSetRequest() { + return CoreServiceGetProfileArgs_Request_DEFAULT + } + return p.Request +} +func (p *CoreServiceGetProfileArgs) SetRequest(val *structs.GetProfileRequest) { + p.Request = val +} + +func (p *CoreServiceGetProfileArgs) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_CoreServiceGetProfileArgs = map[int16]string{ + 1: "request", +} + +func (p *CoreServiceGetProfileArgs) IsSetRequest() bool { + return p.Request != nil +} + +func (p *CoreServiceGetProfileArgs) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_CoreServiceGetProfileArgs[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *CoreServiceGetProfileArgs) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + p.Request = structs.NewGetProfileRequest() + if err := p.Request.Read(ctx, iprot); err != nil { + return err + } + return nil +} + +func (p *CoreServiceGetProfileArgs) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "getProfile_args"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *CoreServiceGetProfileArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "request", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.Request.Write(ctx, oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *CoreServiceGetProfileArgs) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("CoreServiceGetProfileArgs(%+v)", *p) +} + +type CoreServiceGetProfileResult struct { + Success *structs.GetProfileResponse `thrift:"success,0,optional" frugal:"0,optional,structs.GetProfileResponse" db:"success" json:"success,omitempty"` + E *exceptions.CoreServicesException `thrift:"e,1,optional" frugal:"1,optional,exceptions.CoreServicesException" db:"e" json:"e,omitempty"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewCoreServiceGetProfileResult, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0x11, 0x67, + 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x6, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0xf, 0x0, 0x3, + 0xc, 0x0, 0x0, 0x0, 0x2, 0x6, 0x0, 0x1, + 0x0, 0x0, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, + 0x7, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x2, 0xc, + 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, + 0xc, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x1, + 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x1, 0x65, + 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x2, 0xc, + 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, + 0xc, 0x0, 0x0, 0x0, + }) +} + +func NewCoreServiceGetProfileResult() *CoreServiceGetProfileResult { + return &CoreServiceGetProfileResult{} +} + +func (p *CoreServiceGetProfileResult) InitDefault() { + *p = CoreServiceGetProfileResult{} +} + +var CoreServiceGetProfileResult_Success_DEFAULT *structs.GetProfileResponse + +func (p *CoreServiceGetProfileResult) GetSuccess() (v *structs.GetProfileResponse) { + if !p.IsSetSuccess() { + return CoreServiceGetProfileResult_Success_DEFAULT + } + return p.Success +} + +var CoreServiceGetProfileResult_E_DEFAULT *exceptions.CoreServicesException + +func (p *CoreServiceGetProfileResult) GetE() (v *exceptions.CoreServicesException) { + if !p.IsSetE() { + return CoreServiceGetProfileResult_E_DEFAULT + } + return p.E +} +func (p *CoreServiceGetProfileResult) SetSuccess(x interface{}) { + p.Success = x.(*structs.GetProfileResponse) +} +func (p *CoreServiceGetProfileResult) SetE(val *exceptions.CoreServicesException) { + p.E = val +} + +func (p *CoreServiceGetProfileResult) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_CoreServiceGetProfileResult = map[int16]string{ + 0: "success", + 1: "e", +} + +func (p *CoreServiceGetProfileResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *CoreServiceGetProfileResult) IsSetE() bool { + return p.E != nil +} + +func (p *CoreServiceGetProfileResult) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 0: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField0(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_CoreServiceGetProfileResult[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *CoreServiceGetProfileResult) ReadField0(ctx context.Context, iprot thrift.TProtocol) error { + p.Success = structs.NewGetProfileResponse() + if err := p.Success.Read(ctx, iprot); err != nil { + return err + } + return nil +} + +func (p *CoreServiceGetProfileResult) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + p.E = exceptions.NewCoreServicesException() + if err := p.E.Read(ctx, iprot); err != nil { + return err + } + return nil +} + +func (p *CoreServiceGetProfileResult) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "getProfile_result"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField0(ctx, oprot); err != nil { + fieldId = 0 + goto WriteFieldError + } + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *CoreServiceGetProfileResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err = oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil { + goto WriteFieldBeginError + } + if err := p.Success.Write(ctx, oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) +} + +func (p *CoreServiceGetProfileResult) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if p.IsSetE() { + if err = oprot.WriteFieldBegin(ctx, "e", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.E.Write(ctx, oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *CoreServiceGetProfileResult) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("CoreServiceGetProfileResult(%+v)", *p) +} + +type CoreServiceLogoutArgs struct { + Request *structs.LogoutRequest `thrift:"request,1" frugal:"1,default,structs.LogoutRequest" db:"request" json:"request"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewCoreServiceLogoutArgs, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x6c, + 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x5f, 0x61, 0x72, + 0x67, 0x73, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, + 0x6, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0xf, + 0x0, 0x3, 0xc, 0x0, 0x0, 0x0, 0x1, 0x6, + 0x0, 0x1, 0x0, 0x1, 0xb, 0x0, 0x2, 0x0, + 0x0, 0x0, 0x7, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, + 0x0, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, + 0x0, 0x0, 0xc, 0x0, 0x0, 0x0, + }) +} + +func NewCoreServiceLogoutArgs() *CoreServiceLogoutArgs { + return &CoreServiceLogoutArgs{} +} + +func (p *CoreServiceLogoutArgs) InitDefault() { + *p = CoreServiceLogoutArgs{} +} + +var CoreServiceLogoutArgs_Request_DEFAULT *structs.LogoutRequest + +func (p *CoreServiceLogoutArgs) GetRequest() (v *structs.LogoutRequest) { + if !p.IsSetRequest() { + return CoreServiceLogoutArgs_Request_DEFAULT + } + return p.Request +} +func (p *CoreServiceLogoutArgs) SetRequest(val *structs.LogoutRequest) { + p.Request = val +} + +func (p *CoreServiceLogoutArgs) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_CoreServiceLogoutArgs = map[int16]string{ + 1: "request", +} + +func (p *CoreServiceLogoutArgs) IsSetRequest() bool { + return p.Request != nil +} + +func (p *CoreServiceLogoutArgs) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_CoreServiceLogoutArgs[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *CoreServiceLogoutArgs) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + p.Request = structs.NewLogoutRequest() + if err := p.Request.Read(ctx, iprot); err != nil { + return err + } + return nil +} + +func (p *CoreServiceLogoutArgs) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "logout_args"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *CoreServiceLogoutArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "request", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.Request.Write(ctx, oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *CoreServiceLogoutArgs) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("CoreServiceLogoutArgs(%+v)", *p) +} + +type CoreServiceLogoutResult struct { + Success *structs.LogoutResponse `thrift:"success,0,optional" frugal:"0,optional,structs.LogoutResponse" db:"success" json:"success,omitempty"` + E *exceptions.CoreServicesException `thrift:"e,1,optional" frugal:"1,optional,exceptions.CoreServicesException" db:"e" json:"e,omitempty"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewCoreServiceLogoutResult, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0xd, 0x6c, + 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0xb, 0x0, 0x2, 0x0, + 0x0, 0x0, 0x6, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0xf, 0x0, 0x3, 0xc, 0x0, 0x0, 0x0, + 0x2, 0x6, 0x0, 0x1, 0x0, 0x0, 0xb, 0x0, + 0x2, 0x0, 0x0, 0x0, 0x7, 0x73, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x8, 0x0, 0x3, 0x0, + 0x0, 0x0, 0x2, 0xc, 0x0, 0x4, 0x8, 0x0, + 0x1, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x6, + 0x0, 0x1, 0x0, 0x1, 0xb, 0x0, 0x2, 0x0, + 0x0, 0x0, 0x1, 0x65, 0x8, 0x0, 0x3, 0x0, + 0x0, 0x0, 0x2, 0xc, 0x0, 0x4, 0x8, 0x0, + 0x1, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x0, + }) +} + +func NewCoreServiceLogoutResult() *CoreServiceLogoutResult { + return &CoreServiceLogoutResult{} +} + +func (p *CoreServiceLogoutResult) InitDefault() { + *p = CoreServiceLogoutResult{} +} + +var CoreServiceLogoutResult_Success_DEFAULT *structs.LogoutResponse + +func (p *CoreServiceLogoutResult) GetSuccess() (v *structs.LogoutResponse) { + if !p.IsSetSuccess() { + return CoreServiceLogoutResult_Success_DEFAULT + } + return p.Success +} + +var CoreServiceLogoutResult_E_DEFAULT *exceptions.CoreServicesException + +func (p *CoreServiceLogoutResult) GetE() (v *exceptions.CoreServicesException) { + if !p.IsSetE() { + return CoreServiceLogoutResult_E_DEFAULT + } + return p.E +} +func (p *CoreServiceLogoutResult) SetSuccess(x interface{}) { + p.Success = x.(*structs.LogoutResponse) +} +func (p *CoreServiceLogoutResult) SetE(val *exceptions.CoreServicesException) { + p.E = val +} + +func (p *CoreServiceLogoutResult) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_CoreServiceLogoutResult = map[int16]string{ + 0: "success", + 1: "e", +} + +func (p *CoreServiceLogoutResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *CoreServiceLogoutResult) IsSetE() bool { + return p.E != nil +} + +func (p *CoreServiceLogoutResult) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 0: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField0(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_CoreServiceLogoutResult[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *CoreServiceLogoutResult) ReadField0(ctx context.Context, iprot thrift.TProtocol) error { + p.Success = structs.NewLogoutResponse() + if err := p.Success.Read(ctx, iprot); err != nil { + return err + } + return nil +} + +func (p *CoreServiceLogoutResult) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + p.E = exceptions.NewCoreServicesException() + if err := p.E.Read(ctx, iprot); err != nil { + return err + } + return nil +} + +func (p *CoreServiceLogoutResult) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "logout_result"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField0(ctx, oprot); err != nil { + fieldId = 0 + goto WriteFieldError + } + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *CoreServiceLogoutResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err = oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil { + goto WriteFieldBeginError + } + if err := p.Success.Write(ctx, oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) +} + +func (p *CoreServiceLogoutResult) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if p.IsSetE() { + if err = oprot.WriteFieldBegin(ctx, "e", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.E.Write(ctx, oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *CoreServiceLogoutResult) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("CoreServiceLogoutResult(%+v)", *p) +} + +type CoreServiceGetUserListArgs struct { + Request *structs.GetUserListRequest `thrift:"request,1" frugal:"1,default,structs.GetUserListRequest" db:"request" json:"request"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewCoreServiceGetUserListArgs, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0x10, 0x67, + 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, + 0x73, 0x74, 0x5f, 0x61, 0x72, 0x67, 0x73, 0xb, + 0x0, 0x2, 0x0, 0x0, 0x0, 0x6, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0xf, 0x0, 0x3, 0xc, + 0x0, 0x0, 0x0, 0x1, 0x6, 0x0, 0x1, 0x0, + 0x1, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x7, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x8, + 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, + 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xc, + 0x0, 0x0, 0x0, + }) +} + +func NewCoreServiceGetUserListArgs() *CoreServiceGetUserListArgs { + return &CoreServiceGetUserListArgs{} +} + +func (p *CoreServiceGetUserListArgs) InitDefault() { + *p = CoreServiceGetUserListArgs{} +} + +var CoreServiceGetUserListArgs_Request_DEFAULT *structs.GetUserListRequest + +func (p *CoreServiceGetUserListArgs) GetRequest() (v *structs.GetUserListRequest) { + if !p.IsSetRequest() { + return CoreServiceGetUserListArgs_Request_DEFAULT + } + return p.Request +} +func (p *CoreServiceGetUserListArgs) SetRequest(val *structs.GetUserListRequest) { + p.Request = val +} + +func (p *CoreServiceGetUserListArgs) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_CoreServiceGetUserListArgs = map[int16]string{ + 1: "request", +} + +func (p *CoreServiceGetUserListArgs) IsSetRequest() bool { + return p.Request != nil +} + +func (p *CoreServiceGetUserListArgs) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_CoreServiceGetUserListArgs[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *CoreServiceGetUserListArgs) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + p.Request = structs.NewGetUserListRequest() + if err := p.Request.Read(ctx, iprot); err != nil { + return err + } + return nil +} + +func (p *CoreServiceGetUserListArgs) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "getUserList_args"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *CoreServiceGetUserListArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "request", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.Request.Write(ctx, oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *CoreServiceGetUserListArgs) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("CoreServiceGetUserListArgs(%+v)", *p) +} + +type CoreServiceGetUserListResult struct { + Success *structs.GetUserListResponse `thrift:"success,0,optional" frugal:"0,optional,structs.GetUserListResponse" db:"success" json:"success,omitempty"` + E *exceptions.CoreServicesException `thrift:"e,1,optional" frugal:"1,optional,exceptions.CoreServicesException" db:"e" json:"e,omitempty"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewCoreServiceGetUserListResult, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0x12, 0x67, + 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, + 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x6, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0xf, 0x0, + 0x3, 0xc, 0x0, 0x0, 0x0, 0x2, 0x6, 0x0, + 0x1, 0x0, 0x0, 0xb, 0x0, 0x2, 0x0, 0x0, + 0x0, 0x7, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x2, + 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, + 0x0, 0xc, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, + 0x1, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x1, + 0x65, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x2, + 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, + 0x0, 0xc, 0x0, 0x0, 0x0, + }) +} + +func NewCoreServiceGetUserListResult() *CoreServiceGetUserListResult { + return &CoreServiceGetUserListResult{} +} + +func (p *CoreServiceGetUserListResult) InitDefault() { + *p = CoreServiceGetUserListResult{} +} + +var CoreServiceGetUserListResult_Success_DEFAULT *structs.GetUserListResponse + +func (p *CoreServiceGetUserListResult) GetSuccess() (v *structs.GetUserListResponse) { + if !p.IsSetSuccess() { + return CoreServiceGetUserListResult_Success_DEFAULT + } + return p.Success +} + +var CoreServiceGetUserListResult_E_DEFAULT *exceptions.CoreServicesException + +func (p *CoreServiceGetUserListResult) GetE() (v *exceptions.CoreServicesException) { + if !p.IsSetE() { + return CoreServiceGetUserListResult_E_DEFAULT + } + return p.E +} +func (p *CoreServiceGetUserListResult) SetSuccess(x interface{}) { + p.Success = x.(*structs.GetUserListResponse) +} +func (p *CoreServiceGetUserListResult) SetE(val *exceptions.CoreServicesException) { + p.E = val +} + +func (p *CoreServiceGetUserListResult) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_CoreServiceGetUserListResult = map[int16]string{ + 0: "success", + 1: "e", +} + +func (p *CoreServiceGetUserListResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *CoreServiceGetUserListResult) IsSetE() bool { + return p.E != nil +} + +func (p *CoreServiceGetUserListResult) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 0: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField0(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_CoreServiceGetUserListResult[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *CoreServiceGetUserListResult) ReadField0(ctx context.Context, iprot thrift.TProtocol) error { + p.Success = structs.NewGetUserListResponse() + if err := p.Success.Read(ctx, iprot); err != nil { + return err + } + return nil +} + +func (p *CoreServiceGetUserListResult) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + p.E = exceptions.NewCoreServicesException() + if err := p.E.Read(ctx, iprot); err != nil { + return err + } + return nil +} + +func (p *CoreServiceGetUserListResult) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "getUserList_result"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField0(ctx, oprot); err != nil { + fieldId = 0 + goto WriteFieldError + } + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *CoreServiceGetUserListResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err = oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil { + goto WriteFieldBeginError + } + if err := p.Success.Write(ctx, oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) +} + +func (p *CoreServiceGetUserListResult) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if p.IsSetE() { + if err = oprot.WriteFieldBegin(ctx, "e", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.E.Write(ctx, oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *CoreServiceGetUserListResult) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("CoreServiceGetUserListResult(%+v)", *p) +} + +type CoreServiceCreateUserArgs struct { + Request *structs.CreateUserRequest `thrift:"request,1" frugal:"1,default,structs.CreateUserRequest" db:"request" json:"request"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewCoreServiceCreateUserArgs, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0xf, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, + 0x72, 0x5f, 0x61, 0x72, 0x67, 0x73, 0xb, 0x0, + 0x2, 0x0, 0x0, 0x0, 0x6, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0xf, 0x0, 0x3, 0xc, 0x0, + 0x0, 0x0, 0x1, 0x6, 0x0, 0x1, 0x0, 0x1, + 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x7, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x8, 0x0, + 0x3, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0x4, + 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xc, 0x0, + 0x0, 0x0, + }) +} + +func NewCoreServiceCreateUserArgs() *CoreServiceCreateUserArgs { + return &CoreServiceCreateUserArgs{} +} + +func (p *CoreServiceCreateUserArgs) InitDefault() { + *p = CoreServiceCreateUserArgs{} +} + +var CoreServiceCreateUserArgs_Request_DEFAULT *structs.CreateUserRequest + +func (p *CoreServiceCreateUserArgs) GetRequest() (v *structs.CreateUserRequest) { + if !p.IsSetRequest() { + return CoreServiceCreateUserArgs_Request_DEFAULT + } + return p.Request +} +func (p *CoreServiceCreateUserArgs) SetRequest(val *structs.CreateUserRequest) { + p.Request = val +} + +func (p *CoreServiceCreateUserArgs) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_CoreServiceCreateUserArgs = map[int16]string{ + 1: "request", +} + +func (p *CoreServiceCreateUserArgs) IsSetRequest() bool { + return p.Request != nil +} + +func (p *CoreServiceCreateUserArgs) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_CoreServiceCreateUserArgs[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *CoreServiceCreateUserArgs) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + p.Request = structs.NewCreateUserRequest() + if err := p.Request.Read(ctx, iprot); err != nil { + return err + } + return nil +} + +func (p *CoreServiceCreateUserArgs) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "createUser_args"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *CoreServiceCreateUserArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "request", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.Request.Write(ctx, oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *CoreServiceCreateUserArgs) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("CoreServiceCreateUserArgs(%+v)", *p) +} + +type CoreServiceCreateUserResult struct { + Success *structs.CreateUserResponse `thrift:"success,0,optional" frugal:"0,optional,structs.CreateUserResponse" db:"success" json:"success,omitempty"` + E *exceptions.CoreServicesException `thrift:"e,1,optional" frugal:"1,optional,exceptions.CoreServicesException" db:"e" json:"e,omitempty"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewCoreServiceCreateUserResult, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0x11, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, + 0x72, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x6, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0xf, 0x0, 0x3, + 0xc, 0x0, 0x0, 0x0, 0x2, 0x6, 0x0, 0x1, + 0x0, 0x0, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, + 0x7, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x2, 0xc, + 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, + 0xc, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x1, + 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x1, 0x65, + 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x2, 0xc, + 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, + 0xc, 0x0, 0x0, 0x0, + }) +} + +func NewCoreServiceCreateUserResult() *CoreServiceCreateUserResult { + return &CoreServiceCreateUserResult{} +} + +func (p *CoreServiceCreateUserResult) InitDefault() { + *p = CoreServiceCreateUserResult{} +} + +var CoreServiceCreateUserResult_Success_DEFAULT *structs.CreateUserResponse + +func (p *CoreServiceCreateUserResult) GetSuccess() (v *structs.CreateUserResponse) { + if !p.IsSetSuccess() { + return CoreServiceCreateUserResult_Success_DEFAULT + } + return p.Success +} + +var CoreServiceCreateUserResult_E_DEFAULT *exceptions.CoreServicesException + +func (p *CoreServiceCreateUserResult) GetE() (v *exceptions.CoreServicesException) { + if !p.IsSetE() { + return CoreServiceCreateUserResult_E_DEFAULT + } + return p.E +} +func (p *CoreServiceCreateUserResult) SetSuccess(x interface{}) { + p.Success = x.(*structs.CreateUserResponse) +} +func (p *CoreServiceCreateUserResult) SetE(val *exceptions.CoreServicesException) { + p.E = val +} + +func (p *CoreServiceCreateUserResult) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_CoreServiceCreateUserResult = map[int16]string{ + 0: "success", + 1: "e", +} + +func (p *CoreServiceCreateUserResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *CoreServiceCreateUserResult) IsSetE() bool { + return p.E != nil +} + +func (p *CoreServiceCreateUserResult) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 0: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField0(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_CoreServiceCreateUserResult[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *CoreServiceCreateUserResult) ReadField0(ctx context.Context, iprot thrift.TProtocol) error { + p.Success = structs.NewCreateUserResponse() + if err := p.Success.Read(ctx, iprot); err != nil { + return err + } + return nil +} + +func (p *CoreServiceCreateUserResult) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + p.E = exceptions.NewCoreServicesException() + if err := p.E.Read(ctx, iprot); err != nil { + return err + } + return nil +} + +func (p *CoreServiceCreateUserResult) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "createUser_result"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField0(ctx, oprot); err != nil { + fieldId = 0 + goto WriteFieldError + } + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *CoreServiceCreateUserResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err = oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil { + goto WriteFieldBeginError + } + if err := p.Success.Write(ctx, oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) +} + +func (p *CoreServiceCreateUserResult) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if p.IsSetE() { + if err = oprot.WriteFieldBegin(ctx, "e", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.E.Write(ctx, oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *CoreServiceCreateUserResult) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("CoreServiceCreateUserResult(%+v)", *p) +} + +type CoreServiceDeleteUsersArgs struct { + Request *structs.DeleteUsersRequest `thrift:"request,1" frugal:"1,default,structs.DeleteUsersRequest" db:"request" json:"request"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewCoreServiceDeleteUsersArgs, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0x10, 0x64, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, + 0x72, 0x73, 0x5f, 0x61, 0x72, 0x67, 0x73, 0xb, + 0x0, 0x2, 0x0, 0x0, 0x0, 0x6, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0xf, 0x0, 0x3, 0xc, + 0x0, 0x0, 0x0, 0x1, 0x6, 0x0, 0x1, 0x0, + 0x1, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x7, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x8, + 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, + 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xc, + 0x0, 0x0, 0x0, + }) +} + +func NewCoreServiceDeleteUsersArgs() *CoreServiceDeleteUsersArgs { + return &CoreServiceDeleteUsersArgs{} +} + +func (p *CoreServiceDeleteUsersArgs) InitDefault() { + *p = CoreServiceDeleteUsersArgs{} +} + +var CoreServiceDeleteUsersArgs_Request_DEFAULT *structs.DeleteUsersRequest + +func (p *CoreServiceDeleteUsersArgs) GetRequest() (v *structs.DeleteUsersRequest) { + if !p.IsSetRequest() { + return CoreServiceDeleteUsersArgs_Request_DEFAULT + } + return p.Request +} +func (p *CoreServiceDeleteUsersArgs) SetRequest(val *structs.DeleteUsersRequest) { + p.Request = val +} + +func (p *CoreServiceDeleteUsersArgs) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_CoreServiceDeleteUsersArgs = map[int16]string{ + 1: "request", +} + +func (p *CoreServiceDeleteUsersArgs) IsSetRequest() bool { + return p.Request != nil +} + +func (p *CoreServiceDeleteUsersArgs) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_CoreServiceDeleteUsersArgs[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *CoreServiceDeleteUsersArgs) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + p.Request = structs.NewDeleteUsersRequest() + if err := p.Request.Read(ctx, iprot); err != nil { + return err + } + return nil +} + +func (p *CoreServiceDeleteUsersArgs) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "deleteUsers_args"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *CoreServiceDeleteUsersArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "request", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.Request.Write(ctx, oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *CoreServiceDeleteUsersArgs) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("CoreServiceDeleteUsersArgs(%+v)", *p) +} + +type CoreServiceDeleteUsersResult struct { + Success *structs.DeleteUsersResponse `thrift:"success,0,optional" frugal:"0,optional,structs.DeleteUsersResponse" db:"success" json:"success,omitempty"` + E *exceptions.CoreServicesException `thrift:"e,1,optional" frugal:"1,optional,exceptions.CoreServicesException" db:"e" json:"e,omitempty"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewCoreServiceDeleteUsersResult, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0x12, 0x64, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, + 0x72, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x6, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0xf, 0x0, + 0x3, 0xc, 0x0, 0x0, 0x0, 0x2, 0x6, 0x0, + 0x1, 0x0, 0x0, 0xb, 0x0, 0x2, 0x0, 0x0, + 0x0, 0x7, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x2, + 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, + 0x0, 0xc, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, + 0x1, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x1, + 0x65, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x2, + 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, + 0x0, 0xc, 0x0, 0x0, 0x0, + }) +} + +func NewCoreServiceDeleteUsersResult() *CoreServiceDeleteUsersResult { + return &CoreServiceDeleteUsersResult{} +} + +func (p *CoreServiceDeleteUsersResult) InitDefault() { + *p = CoreServiceDeleteUsersResult{} +} + +var CoreServiceDeleteUsersResult_Success_DEFAULT *structs.DeleteUsersResponse + +func (p *CoreServiceDeleteUsersResult) GetSuccess() (v *structs.DeleteUsersResponse) { + if !p.IsSetSuccess() { + return CoreServiceDeleteUsersResult_Success_DEFAULT + } + return p.Success +} + +var CoreServiceDeleteUsersResult_E_DEFAULT *exceptions.CoreServicesException + +func (p *CoreServiceDeleteUsersResult) GetE() (v *exceptions.CoreServicesException) { + if !p.IsSetE() { + return CoreServiceDeleteUsersResult_E_DEFAULT + } + return p.E +} +func (p *CoreServiceDeleteUsersResult) SetSuccess(x interface{}) { + p.Success = x.(*structs.DeleteUsersResponse) +} +func (p *CoreServiceDeleteUsersResult) SetE(val *exceptions.CoreServicesException) { + p.E = val +} + +func (p *CoreServiceDeleteUsersResult) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_CoreServiceDeleteUsersResult = map[int16]string{ + 0: "success", + 1: "e", +} + +func (p *CoreServiceDeleteUsersResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *CoreServiceDeleteUsersResult) IsSetE() bool { + return p.E != nil +} + +func (p *CoreServiceDeleteUsersResult) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 0: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField0(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_CoreServiceDeleteUsersResult[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *CoreServiceDeleteUsersResult) ReadField0(ctx context.Context, iprot thrift.TProtocol) error { + p.Success = structs.NewDeleteUsersResponse() + if err := p.Success.Read(ctx, iprot); err != nil { + return err + } + return nil +} + +func (p *CoreServiceDeleteUsersResult) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + p.E = exceptions.NewCoreServicesException() + if err := p.E.Read(ctx, iprot); err != nil { + return err + } + return nil +} + +func (p *CoreServiceDeleteUsersResult) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "deleteUsers_result"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField0(ctx, oprot); err != nil { + fieldId = 0 + goto WriteFieldError + } + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *CoreServiceDeleteUsersResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err = oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil { + goto WriteFieldBeginError + } + if err := p.Success.Write(ctx, oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) +} + +func (p *CoreServiceDeleteUsersResult) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if p.IsSetE() { + if err = oprot.WriteFieldBegin(ctx, "e", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.E.Write(ctx, oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *CoreServiceDeleteUsersResult) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("CoreServiceDeleteUsersResult(%+v)", *p) +} + +type CoreServiceGetWajibPajakListArgs struct { + Request *structs.GetWajibPajakListRequest `thrift:"request,1" frugal:"1,default,structs.GetWajibPajakListRequest" db:"request" json:"request"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewCoreServiceGetWajibPajakListArgs, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0x16, 0x67, + 0x65, 0x74, 0x57, 0x61, 0x6a, 0x69, 0x62, 0x50, + 0x61, 0x6a, 0x61, 0x6b, 0x4c, 0x69, 0x73, 0x74, + 0x5f, 0x61, 0x72, 0x67, 0x73, 0xb, 0x0, 0x2, + 0x0, 0x0, 0x0, 0x6, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0xf, 0x0, 0x3, 0xc, 0x0, 0x0, + 0x0, 0x1, 0x6, 0x0, 0x1, 0x0, 0x1, 0xb, + 0x0, 0x2, 0x0, 0x0, 0x0, 0x7, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x8, 0x0, 0x3, + 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0x4, 0x8, + 0x0, 0x1, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, + 0x0, + }) +} + +func NewCoreServiceGetWajibPajakListArgs() *CoreServiceGetWajibPajakListArgs { + return &CoreServiceGetWajibPajakListArgs{} +} + +func (p *CoreServiceGetWajibPajakListArgs) InitDefault() { + *p = CoreServiceGetWajibPajakListArgs{} +} + +var CoreServiceGetWajibPajakListArgs_Request_DEFAULT *structs.GetWajibPajakListRequest + +func (p *CoreServiceGetWajibPajakListArgs) GetRequest() (v *structs.GetWajibPajakListRequest) { + if !p.IsSetRequest() { + return CoreServiceGetWajibPajakListArgs_Request_DEFAULT + } + return p.Request +} +func (p *CoreServiceGetWajibPajakListArgs) SetRequest(val *structs.GetWajibPajakListRequest) { + p.Request = val +} + +func (p *CoreServiceGetWajibPajakListArgs) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_CoreServiceGetWajibPajakListArgs = map[int16]string{ + 1: "request", +} + +func (p *CoreServiceGetWajibPajakListArgs) IsSetRequest() bool { + return p.Request != nil +} + +func (p *CoreServiceGetWajibPajakListArgs) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_CoreServiceGetWajibPajakListArgs[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *CoreServiceGetWajibPajakListArgs) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + p.Request = structs.NewGetWajibPajakListRequest() + if err := p.Request.Read(ctx, iprot); err != nil { + return err + } + return nil +} + +func (p *CoreServiceGetWajibPajakListArgs) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "getWajibPajakList_args"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *CoreServiceGetWajibPajakListArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "request", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.Request.Write(ctx, oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *CoreServiceGetWajibPajakListArgs) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("CoreServiceGetWajibPajakListArgs(%+v)", *p) +} + +type CoreServiceGetWajibPajakListResult struct { + Success *structs.GetWajibPajakListResponse `thrift:"success,0,optional" frugal:"0,optional,structs.GetWajibPajakListResponse" db:"success" json:"success,omitempty"` + E *exceptions.CoreServicesException `thrift:"e,1,optional" frugal:"1,optional,exceptions.CoreServicesException" db:"e" json:"e,omitempty"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewCoreServiceGetWajibPajakListResult, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0x18, 0x67, + 0x65, 0x74, 0x57, 0x61, 0x6a, 0x69, 0x62, 0x50, + 0x61, 0x6a, 0x61, 0x6b, 0x4c, 0x69, 0x73, 0x74, + 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0xb, + 0x0, 0x2, 0x0, 0x0, 0x0, 0x6, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0xf, 0x0, 0x3, 0xc, + 0x0, 0x0, 0x0, 0x2, 0x6, 0x0, 0x1, 0x0, + 0x0, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x7, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x8, + 0x0, 0x3, 0x0, 0x0, 0x0, 0x2, 0xc, 0x0, + 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xc, + 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x1, 0xb, + 0x0, 0x2, 0x0, 0x0, 0x0, 0x1, 0x65, 0x8, + 0x0, 0x3, 0x0, 0x0, 0x0, 0x2, 0xc, 0x0, + 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xc, + 0x0, 0x0, 0x0, + }) +} + +func NewCoreServiceGetWajibPajakListResult() *CoreServiceGetWajibPajakListResult { + return &CoreServiceGetWajibPajakListResult{} +} + +func (p *CoreServiceGetWajibPajakListResult) InitDefault() { + *p = CoreServiceGetWajibPajakListResult{} +} + +var CoreServiceGetWajibPajakListResult_Success_DEFAULT *structs.GetWajibPajakListResponse + +func (p *CoreServiceGetWajibPajakListResult) GetSuccess() (v *structs.GetWajibPajakListResponse) { + if !p.IsSetSuccess() { + return CoreServiceGetWajibPajakListResult_Success_DEFAULT + } + return p.Success +} + +var CoreServiceGetWajibPajakListResult_E_DEFAULT *exceptions.CoreServicesException + +func (p *CoreServiceGetWajibPajakListResult) GetE() (v *exceptions.CoreServicesException) { + if !p.IsSetE() { + return CoreServiceGetWajibPajakListResult_E_DEFAULT + } + return p.E +} +func (p *CoreServiceGetWajibPajakListResult) SetSuccess(x interface{}) { + p.Success = x.(*structs.GetWajibPajakListResponse) +} +func (p *CoreServiceGetWajibPajakListResult) SetE(val *exceptions.CoreServicesException) { + p.E = val +} + +func (p *CoreServiceGetWajibPajakListResult) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_CoreServiceGetWajibPajakListResult = map[int16]string{ + 0: "success", + 1: "e", +} + +func (p *CoreServiceGetWajibPajakListResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *CoreServiceGetWajibPajakListResult) IsSetE() bool { + return p.E != nil +} + +func (p *CoreServiceGetWajibPajakListResult) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 0: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField0(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_CoreServiceGetWajibPajakListResult[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *CoreServiceGetWajibPajakListResult) ReadField0(ctx context.Context, iprot thrift.TProtocol) error { + p.Success = structs.NewGetWajibPajakListResponse() + if err := p.Success.Read(ctx, iprot); err != nil { + return err + } + return nil +} + +func (p *CoreServiceGetWajibPajakListResult) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + p.E = exceptions.NewCoreServicesException() + if err := p.E.Read(ctx, iprot); err != nil { + return err + } + return nil +} + +func (p *CoreServiceGetWajibPajakListResult) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "getWajibPajakList_result"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField0(ctx, oprot); err != nil { + fieldId = 0 + goto WriteFieldError + } + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *CoreServiceGetWajibPajakListResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err = oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil { + goto WriteFieldBeginError + } + if err := p.Success.Write(ctx, oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) +} + +func (p *CoreServiceGetWajibPajakListResult) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if p.IsSetE() { + if err = oprot.WriteFieldBegin(ctx, "e", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.E.Write(ctx, oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *CoreServiceGetWajibPajakListResult) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("CoreServiceGetWajibPajakListResult(%+v)", *p) +} + +type CoreServiceCreateWajibPajakArgs struct { + Request *structs.CreateWajibPajakRequest `thrift:"request,1" frugal:"1,default,structs.CreateWajibPajakRequest" db:"request" json:"request"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewCoreServiceCreateWajibPajakArgs, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0x15, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x61, 0x6a, + 0x69, 0x62, 0x50, 0x61, 0x6a, 0x61, 0x6b, 0x5f, + 0x61, 0x72, 0x67, 0x73, 0xb, 0x0, 0x2, 0x0, + 0x0, 0x0, 0x6, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0xf, 0x0, 0x3, 0xc, 0x0, 0x0, 0x0, + 0x1, 0x6, 0x0, 0x1, 0x0, 0x1, 0xb, 0x0, + 0x2, 0x0, 0x0, 0x0, 0x7, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x8, 0x0, 0x3, 0x0, + 0x0, 0x0, 0x0, 0xc, 0x0, 0x4, 0x8, 0x0, + 0x1, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x0, + }) +} + +func NewCoreServiceCreateWajibPajakArgs() *CoreServiceCreateWajibPajakArgs { + return &CoreServiceCreateWajibPajakArgs{} +} + +func (p *CoreServiceCreateWajibPajakArgs) InitDefault() { + *p = CoreServiceCreateWajibPajakArgs{} +} + +var CoreServiceCreateWajibPajakArgs_Request_DEFAULT *structs.CreateWajibPajakRequest + +func (p *CoreServiceCreateWajibPajakArgs) GetRequest() (v *structs.CreateWajibPajakRequest) { + if !p.IsSetRequest() { + return CoreServiceCreateWajibPajakArgs_Request_DEFAULT + } + return p.Request +} +func (p *CoreServiceCreateWajibPajakArgs) SetRequest(val *structs.CreateWajibPajakRequest) { + p.Request = val +} + +func (p *CoreServiceCreateWajibPajakArgs) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_CoreServiceCreateWajibPajakArgs = map[int16]string{ + 1: "request", +} + +func (p *CoreServiceCreateWajibPajakArgs) IsSetRequest() bool { + return p.Request != nil +} + +func (p *CoreServiceCreateWajibPajakArgs) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_CoreServiceCreateWajibPajakArgs[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *CoreServiceCreateWajibPajakArgs) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + p.Request = structs.NewCreateWajibPajakRequest() + if err := p.Request.Read(ctx, iprot); err != nil { + return err + } + return nil +} + +func (p *CoreServiceCreateWajibPajakArgs) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "createWajibPajak_args"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *CoreServiceCreateWajibPajakArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "request", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.Request.Write(ctx, oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *CoreServiceCreateWajibPajakArgs) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("CoreServiceCreateWajibPajakArgs(%+v)", *p) +} + +type CoreServiceCreateWajibPajakResult struct { + Success *structs.CreateWajibPajakResponse `thrift:"success,0,optional" frugal:"0,optional,structs.CreateWajibPajakResponse" db:"success" json:"success,omitempty"` + E *exceptions.CoreServicesException `thrift:"e,1,optional" frugal:"1,optional,exceptions.CoreServicesException" db:"e" json:"e,omitempty"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewCoreServiceCreateWajibPajakResult, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0x17, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x61, 0x6a, + 0x69, 0x62, 0x50, 0x61, 0x6a, 0x61, 0x6b, 0x5f, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0xb, 0x0, + 0x2, 0x0, 0x0, 0x0, 0x6, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0xf, 0x0, 0x3, 0xc, 0x0, + 0x0, 0x0, 0x2, 0x6, 0x0, 0x1, 0x0, 0x0, + 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x7, 0x73, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x8, 0x0, + 0x3, 0x0, 0x0, 0x0, 0x2, 0xc, 0x0, 0x4, + 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xc, 0x0, + 0x0, 0x6, 0x0, 0x1, 0x0, 0x1, 0xb, 0x0, + 0x2, 0x0, 0x0, 0x0, 0x1, 0x65, 0x8, 0x0, + 0x3, 0x0, 0x0, 0x0, 0x2, 0xc, 0x0, 0x4, + 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xc, 0x0, + 0x0, 0x0, + }) +} + +func NewCoreServiceCreateWajibPajakResult() *CoreServiceCreateWajibPajakResult { + return &CoreServiceCreateWajibPajakResult{} +} + +func (p *CoreServiceCreateWajibPajakResult) InitDefault() { + *p = CoreServiceCreateWajibPajakResult{} +} + +var CoreServiceCreateWajibPajakResult_Success_DEFAULT *structs.CreateWajibPajakResponse + +func (p *CoreServiceCreateWajibPajakResult) GetSuccess() (v *structs.CreateWajibPajakResponse) { + if !p.IsSetSuccess() { + return CoreServiceCreateWajibPajakResult_Success_DEFAULT + } + return p.Success +} + +var CoreServiceCreateWajibPajakResult_E_DEFAULT *exceptions.CoreServicesException + +func (p *CoreServiceCreateWajibPajakResult) GetE() (v *exceptions.CoreServicesException) { + if !p.IsSetE() { + return CoreServiceCreateWajibPajakResult_E_DEFAULT + } + return p.E +} +func (p *CoreServiceCreateWajibPajakResult) SetSuccess(x interface{}) { + p.Success = x.(*structs.CreateWajibPajakResponse) +} +func (p *CoreServiceCreateWajibPajakResult) SetE(val *exceptions.CoreServicesException) { + p.E = val +} + +func (p *CoreServiceCreateWajibPajakResult) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_CoreServiceCreateWajibPajakResult = map[int16]string{ + 0: "success", + 1: "e", +} + +func (p *CoreServiceCreateWajibPajakResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *CoreServiceCreateWajibPajakResult) IsSetE() bool { + return p.E != nil +} + +func (p *CoreServiceCreateWajibPajakResult) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 0: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField0(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_CoreServiceCreateWajibPajakResult[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *CoreServiceCreateWajibPajakResult) ReadField0(ctx context.Context, iprot thrift.TProtocol) error { + p.Success = structs.NewCreateWajibPajakResponse() + if err := p.Success.Read(ctx, iprot); err != nil { + return err + } + return nil +} + +func (p *CoreServiceCreateWajibPajakResult) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + p.E = exceptions.NewCoreServicesException() + if err := p.E.Read(ctx, iprot); err != nil { + return err + } + return nil +} + +func (p *CoreServiceCreateWajibPajakResult) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "createWajibPajak_result"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField0(ctx, oprot); err != nil { + fieldId = 0 + goto WriteFieldError + } + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *CoreServiceCreateWajibPajakResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err = oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil { + goto WriteFieldBeginError + } + if err := p.Success.Write(ctx, oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) +} + +func (p *CoreServiceCreateWajibPajakResult) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if p.IsSetE() { + if err = oprot.WriteFieldBegin(ctx, "e", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.E.Write(ctx, oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *CoreServiceCreateWajibPajakResult) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("CoreServiceCreateWajibPajakResult(%+v)", *p) +} + +type CoreServiceDeleteWajibPajakListArgs struct { + Request *structs.DeleteWajibpajakListRequest `thrift:"request,1" frugal:"1,default,structs.DeleteWajibpajakListRequest" db:"request" json:"request"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewCoreServiceDeleteWajibPajakListArgs, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0x19, 0x64, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x61, 0x6a, + 0x69, 0x62, 0x50, 0x61, 0x6a, 0x61, 0x6b, 0x4c, + 0x69, 0x73, 0x74, 0x5f, 0x61, 0x72, 0x67, 0x73, + 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x6, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0xf, 0x0, 0x3, + 0xc, 0x0, 0x0, 0x0, 0x1, 0x6, 0x0, 0x1, + 0x0, 0x1, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, + 0x7, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0xc, + 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, + 0xc, 0x0, 0x0, 0x0, + }) +} + +func NewCoreServiceDeleteWajibPajakListArgs() *CoreServiceDeleteWajibPajakListArgs { + return &CoreServiceDeleteWajibPajakListArgs{} +} + +func (p *CoreServiceDeleteWajibPajakListArgs) InitDefault() { + *p = CoreServiceDeleteWajibPajakListArgs{} +} + +var CoreServiceDeleteWajibPajakListArgs_Request_DEFAULT *structs.DeleteWajibpajakListRequest + +func (p *CoreServiceDeleteWajibPajakListArgs) GetRequest() (v *structs.DeleteWajibpajakListRequest) { + if !p.IsSetRequest() { + return CoreServiceDeleteWajibPajakListArgs_Request_DEFAULT + } + return p.Request +} +func (p *CoreServiceDeleteWajibPajakListArgs) SetRequest(val *structs.DeleteWajibpajakListRequest) { + p.Request = val +} + +func (p *CoreServiceDeleteWajibPajakListArgs) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_CoreServiceDeleteWajibPajakListArgs = map[int16]string{ + 1: "request", +} + +func (p *CoreServiceDeleteWajibPajakListArgs) IsSetRequest() bool { + return p.Request != nil +} + +func (p *CoreServiceDeleteWajibPajakListArgs) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_CoreServiceDeleteWajibPajakListArgs[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *CoreServiceDeleteWajibPajakListArgs) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + p.Request = structs.NewDeleteWajibpajakListRequest() + if err := p.Request.Read(ctx, iprot); err != nil { + return err + } + return nil +} + +func (p *CoreServiceDeleteWajibPajakListArgs) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "deleteWajibPajakList_args"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *CoreServiceDeleteWajibPajakListArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "request", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.Request.Write(ctx, oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *CoreServiceDeleteWajibPajakListArgs) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("CoreServiceDeleteWajibPajakListArgs(%+v)", *p) +} + +type CoreServiceDeleteWajibPajakListResult struct { + Success *structs.DeleteWajibpajakListResponse `thrift:"success,0,optional" frugal:"0,optional,structs.DeleteWajibpajakListResponse" db:"success" json:"success,omitempty"` + E *exceptions.CoreServicesException `thrift:"e,1,optional" frugal:"1,optional,exceptions.CoreServicesException" db:"e" json:"e,omitempty"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewCoreServiceDeleteWajibPajakListResult, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1b, 0x64, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x61, 0x6a, + 0x69, 0x62, 0x50, 0x61, 0x6a, 0x61, 0x6b, 0x4c, + 0x69, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, + 0x6, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0xf, + 0x0, 0x3, 0xc, 0x0, 0x0, 0x0, 0x2, 0x6, + 0x0, 0x1, 0x0, 0x0, 0xb, 0x0, 0x2, 0x0, + 0x0, 0x0, 0x7, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, + 0x2, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, + 0x0, 0x0, 0xc, 0x0, 0x0, 0x6, 0x0, 0x1, + 0x0, 0x1, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, + 0x1, 0x65, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, + 0x2, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, + 0x0, 0x0, 0xc, 0x0, 0x0, 0x0, + }) +} + +func NewCoreServiceDeleteWajibPajakListResult() *CoreServiceDeleteWajibPajakListResult { + return &CoreServiceDeleteWajibPajakListResult{} +} + +func (p *CoreServiceDeleteWajibPajakListResult) InitDefault() { + *p = CoreServiceDeleteWajibPajakListResult{} +} + +var CoreServiceDeleteWajibPajakListResult_Success_DEFAULT *structs.DeleteWajibpajakListResponse + +func (p *CoreServiceDeleteWajibPajakListResult) GetSuccess() (v *structs.DeleteWajibpajakListResponse) { + if !p.IsSetSuccess() { + return CoreServiceDeleteWajibPajakListResult_Success_DEFAULT + } + return p.Success +} + +var CoreServiceDeleteWajibPajakListResult_E_DEFAULT *exceptions.CoreServicesException + +func (p *CoreServiceDeleteWajibPajakListResult) GetE() (v *exceptions.CoreServicesException) { + if !p.IsSetE() { + return CoreServiceDeleteWajibPajakListResult_E_DEFAULT + } + return p.E +} +func (p *CoreServiceDeleteWajibPajakListResult) SetSuccess(x interface{}) { + p.Success = x.(*structs.DeleteWajibpajakListResponse) +} +func (p *CoreServiceDeleteWajibPajakListResult) SetE(val *exceptions.CoreServicesException) { + p.E = val +} + +func (p *CoreServiceDeleteWajibPajakListResult) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_CoreServiceDeleteWajibPajakListResult = map[int16]string{ + 0: "success", + 1: "e", +} + +func (p *CoreServiceDeleteWajibPajakListResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *CoreServiceDeleteWajibPajakListResult) IsSetE() bool { + return p.E != nil +} + +func (p *CoreServiceDeleteWajibPajakListResult) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 0: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField0(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_CoreServiceDeleteWajibPajakListResult[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *CoreServiceDeleteWajibPajakListResult) ReadField0(ctx context.Context, iprot thrift.TProtocol) error { + p.Success = structs.NewDeleteWajibpajakListResponse() + if err := p.Success.Read(ctx, iprot); err != nil { + return err + } + return nil +} + +func (p *CoreServiceDeleteWajibPajakListResult) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + p.E = exceptions.NewCoreServicesException() + if err := p.E.Read(ctx, iprot); err != nil { + return err + } + return nil +} + +func (p *CoreServiceDeleteWajibPajakListResult) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "deleteWajibPajakList_result"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField0(ctx, oprot); err != nil { + fieldId = 0 + goto WriteFieldError + } + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *CoreServiceDeleteWajibPajakListResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err = oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil { + goto WriteFieldBeginError + } + if err := p.Success.Write(ctx, oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) +} + +func (p *CoreServiceDeleteWajibPajakListResult) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if p.IsSetE() { + if err = oprot.WriteFieldBegin(ctx, "e", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.E.Write(ctx, oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *CoreServiceDeleteWajibPajakListResult) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("CoreServiceDeleteWajibPajakListResult(%+v)", *p) +} diff --git a/pkg/gen/biz/core/structs/structs.go b/pkg/gen/biz/core/structs/structs.go new file mode 100644 index 0000000..d2cb45f --- /dev/null +++ b/pkg/gen/biz/core/structs/structs.go @@ -0,0 +1,6658 @@ +// Code generated by thriftgo (0.2.1). DO NOT EDIT. + +package structs + +import ( + "context" + "database/sql" + "database/sql/driver" + "fmt" + "github.com/apache/thrift/lib/go/thrift" + "github.com/cloudwego/thriftgo/generator/golang/extension/meta" + "github.com/cloudwego/thriftgo/generator/golang/extension/unknown" +) + +// WARNING WARNING WARNING WARNING WARNING WARNING WARNING +// Please don't mix DTO and DAO ! +// This design is intended to be as-is. +// WARNING WARNING WARNING WARNING WARNING WARNING WARNING +type RoleType int64 + +const ( + RoleType_UNKNOWN RoleType = 0 + RoleType_SYSTEM RoleType = 1 + RoleType_USER RoleType = 2 + RoleType_WP_OWNER RoleType = 100 + RoleType_WP_ADMIN RoleType = 110 +) + +func (p RoleType) String() string { + switch p { + case RoleType_UNKNOWN: + return "UNKNOWN" + case RoleType_SYSTEM: + return "SYSTEM" + case RoleType_USER: + return "USER" + case RoleType_WP_OWNER: + return "WP_OWNER" + case RoleType_WP_ADMIN: + return "WP_ADMIN" + } + return "" +} + +func RoleTypeFromString(s string) (RoleType, error) { + switch s { + case "UNKNOWN": + return RoleType_UNKNOWN, nil + case "SYSTEM": + return RoleType_SYSTEM, nil + case "USER": + return RoleType_USER, nil + case "WP_OWNER": + return RoleType_WP_OWNER, nil + case "WP_ADMIN": + return RoleType_WP_ADMIN, nil + } + return RoleType(0), fmt.Errorf("not a valid RoleType string") +} + +func RoleTypePtr(v RoleType) *RoleType { return &v } +func (p *RoleType) Scan(value interface{}) (err error) { + var result sql.NullInt64 + err = result.Scan(value) + *p = RoleType(result.Int64) + return +} + +func (p *RoleType) Value() (driver.Value, error) { + if p == nil { + return nil, nil + } + return int64(*p), nil +} + +// @direct +// +// struct JenisPajakXX { +// 1: i64 id (go.tag = "gorm:\"primaryKey\"") +// 2: string displayName (go.tag = "core_v1_dto:\"required\"") +// } +type JenisPajak int64 + +const ( + JenisPajak_UNKNOWN JenisPajak = 0 + JenisPajak_PPH_21 JenisPajak = 1 + JenisPajak_PPH_23 JenisPajak = 2 + JenisPajak_PPH_25 JenisPajak = 3 + JenisPajak_PPH_26 JenisPajak = 4 + JenisPajak_PPH_4_2 JenisPajak = 5 + JenisPajak_PPH_15 JenisPajak = 6 + JenisPajak_PPN JenisPajak = 7 + JenisPajak_TAHUNAN JenisPajak = 8 +) + +func (p JenisPajak) String() string { + switch p { + case JenisPajak_UNKNOWN: + return "UNKNOWN" + case JenisPajak_PPH_21: + return "PPH_21" + case JenisPajak_PPH_23: + return "PPH_23" + case JenisPajak_PPH_25: + return "PPH_25" + case JenisPajak_PPH_26: + return "PPH_26" + case JenisPajak_PPH_4_2: + return "PPH_4_2" + case JenisPajak_PPH_15: + return "PPH_15" + case JenisPajak_PPN: + return "PPN" + case JenisPajak_TAHUNAN: + return "TAHUNAN" + } + return "" +} + +func JenisPajakFromString(s string) (JenisPajak, error) { + switch s { + case "UNKNOWN": + return JenisPajak_UNKNOWN, nil + case "PPH_21": + return JenisPajak_PPH_21, nil + case "PPH_23": + return JenisPajak_PPH_23, nil + case "PPH_25": + return JenisPajak_PPH_25, nil + case "PPH_26": + return JenisPajak_PPH_26, nil + case "PPH_4_2": + return JenisPajak_PPH_4_2, nil + case "PPH_15": + return JenisPajak_PPH_15, nil + case "PPN": + return JenisPajak_PPN, nil + case "TAHUNAN": + return JenisPajak_TAHUNAN, nil + } + return JenisPajak(0), fmt.Errorf("not a valid JenisPajak string") +} + +func JenisPajakPtr(v JenisPajak) *JenisPajak { return &v } +func (p *JenisPajak) Scan(value interface{}) (err error) { + var result sql.NullInt64 + err = result.Scan(value) + *p = JenisPajak(result.Int64) + return +} + +func (p *JenisPajak) Value() (driver.Value, error) { + if p == nil { + return nil, nil + } + return int64(*p), nil +} + +type WajibPajakOwnership int64 + +const ( + WajibPajakOwnership_UNKNOWN WajibPajakOwnership = 0 + WajibPajakOwnership_OWNED WajibPajakOwnership = 1 + WajibPajakOwnership_ROLE WajibPajakOwnership = 2 +) + +func (p WajibPajakOwnership) String() string { + switch p { + case WajibPajakOwnership_UNKNOWN: + return "UNKNOWN" + case WajibPajakOwnership_OWNED: + return "OWNED" + case WajibPajakOwnership_ROLE: + return "ROLE" + } + return "" +} + +func WajibPajakOwnershipFromString(s string) (WajibPajakOwnership, error) { + switch s { + case "UNKNOWN": + return WajibPajakOwnership_UNKNOWN, nil + case "OWNED": + return WajibPajakOwnership_OWNED, nil + case "ROLE": + return WajibPajakOwnership_ROLE, nil + } + return WajibPajakOwnership(0), fmt.Errorf("not a valid WajibPajakOwnership string") +} + +func WajibPajakOwnershipPtr(v WajibPajakOwnership) *WajibPajakOwnership { return &v } +func (p *WajibPajakOwnership) Scan(value interface{}) (err error) { + var result sql.NullInt64 + err = result.Scan(value) + *p = WajibPajakOwnership(result.Int64) + return +} + +func (p *WajibPajakOwnership) Value() (driver.Value, error) { + if p == nil { + return nil, nil + } + return int64(*p), nil +} + +type Role struct { + ID int64 `thrift:"id,1" frugal:"1,default,i64" gorm:"primaryKey"` + DisplayName string `thrift:"displayName,5" frugal:"5,default,string" core_v1_dto:"required"` + RoleType RoleType `thrift:"roleType,6" frugal:"6,default,RoleType" core_v1_dto:"required"` + // user that create this role + Creator *User `thrift:"creator,39,optional" frugal:"39,optional,User" gorm:"foreignKey:id;references:id;"` + // users with this role + Users []*User `thrift:"users,40,optional" frugal:"40,optional,list" gorm:"many2many:user_roles;foreignKey:id;references:id;"` + // wajib pajak bound with this role + WajibPajakList []*WajibPajak `thrift:"wajibPajakList,41,optional" frugal:"41,optional,list" gorm:"many2many:wp_roles;foreignKey:id;references:id"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewRole, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0x4, 0x52, + 0x6f, 0x6c, 0x65, 0xb, 0x0, 0x2, 0x0, 0x0, + 0x0, 0x6, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0xf, 0x0, 0x3, 0xc, 0x0, 0x0, 0x0, 0x6, + 0x6, 0x0, 0x1, 0x0, 0x1, 0xb, 0x0, 0x2, + 0x0, 0x0, 0x0, 0x2, 0x69, 0x64, 0x8, 0x0, + 0x3, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0x4, + 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xa, 0x0, + 0x0, 0x6, 0x0, 0x1, 0x0, 0x5, 0xb, 0x0, + 0x2, 0x0, 0x0, 0x0, 0xb, 0x64, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, + 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0xc, + 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, + 0xb, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x6, + 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x8, 0x72, + 0x6f, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x8, + 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, + 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0x8, + 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x27, 0xb, + 0x0, 0x2, 0x0, 0x0, 0x0, 0x7, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x8, 0x0, 0x3, + 0x0, 0x0, 0x0, 0x2, 0xc, 0x0, 0x4, 0x8, + 0x0, 0x1, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, + 0x6, 0x0, 0x1, 0x0, 0x28, 0xb, 0x0, 0x2, + 0x0, 0x0, 0x0, 0x5, 0x75, 0x73, 0x65, 0x72, + 0x73, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x2, + 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, + 0x0, 0xf, 0xc, 0x0, 0x3, 0x8, 0x0, 0x1, + 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x0, 0x6, + 0x0, 0x1, 0x0, 0x29, 0xb, 0x0, 0x2, 0x0, + 0x0, 0x0, 0xe, 0x77, 0x61, 0x6a, 0x69, 0x62, + 0x50, 0x61, 0x6a, 0x61, 0x6b, 0x4c, 0x69, 0x73, + 0x74, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x2, + 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, + 0x0, 0xf, 0xc, 0x0, 0x3, 0x8, 0x0, 0x1, + 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x0, 0x0, + }) +} + +func NewRole() *Role { + return &Role{} +} + +func (p *Role) InitDefault() { + *p = Role{} +} + +func (p *Role) GetID() (v int64) { + return p.ID +} + +func (p *Role) GetDisplayName() (v string) { + return p.DisplayName +} + +func (p *Role) GetRoleType() (v RoleType) { + return p.RoleType +} + +var Role_Creator_DEFAULT *User + +func (p *Role) GetCreator() (v *User) { + if !p.IsSetCreator() { + return Role_Creator_DEFAULT + } + return p.Creator +} + +var Role_Users_DEFAULT []*User + +func (p *Role) GetUsers() (v []*User) { + if !p.IsSetUsers() { + return Role_Users_DEFAULT + } + return p.Users +} + +var Role_WajibPajakList_DEFAULT []*WajibPajak + +func (p *Role) GetWajibPajakList() (v []*WajibPajak) { + if !p.IsSetWajibPajakList() { + return Role_WajibPajakList_DEFAULT + } + return p.WajibPajakList +} +func (p *Role) SetID(val int64) { + p.ID = val +} +func (p *Role) SetDisplayName(val string) { + p.DisplayName = val +} +func (p *Role) SetRoleType(val RoleType) { + p.RoleType = val +} +func (p *Role) SetCreator(val *User) { + p.Creator = val +} +func (p *Role) SetUsers(val []*User) { + p.Users = val +} +func (p *Role) SetWajibPajakList(val []*WajibPajak) { + p.WajibPajakList = val +} + +func (p *Role) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_Role = map[int16]string{ + 1: "id", + 5: "displayName", + 6: "roleType", + 39: "creator", + 40: "users", + 41: "wajibPajakList", +} + +func (p *Role) IsSetCreator() bool { + return p.Creator != nil +} + +func (p *Role) IsSetUsers() bool { + return p.Users != nil +} + +func (p *Role) IsSetWajibPajakList() bool { + return p.WajibPajakList != nil +} + +func (p *Role) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 5: + if fieldTypeId == thrift.STRING { + if err = p.ReadField5(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 6: + if fieldTypeId == thrift.I32 { + if err = p.ReadField6(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 39: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField39(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 40: + if fieldTypeId == thrift.LIST { + if err = p.ReadField40(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 41: + if fieldTypeId == thrift.LIST { + if err = p.ReadField41(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_Role[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *Role) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return err + } else { + p.ID = v + } + return nil +} + +func (p *Role) ReadField5(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return err + } else { + p.DisplayName = v + } + return nil +} + +func (p *Role) ReadField6(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return err + } else { + p.RoleType = RoleType(v) + } + return nil +} + +func (p *Role) ReadField39(ctx context.Context, iprot thrift.TProtocol) error { + p.Creator = NewUser() + if err := p.Creator.Read(ctx, iprot); err != nil { + return err + } + return nil +} + +func (p *Role) ReadField40(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return err + } + p.Users = make([]*User, 0, size) + for i := 0; i < size; i++ { + _elem := NewUser() + if err := _elem.Read(ctx, iprot); err != nil { + return err + } + + p.Users = append(p.Users, _elem) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return err + } + return nil +} + +func (p *Role) ReadField41(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return err + } + p.WajibPajakList = make([]*WajibPajak, 0, size) + for i := 0; i < size; i++ { + _elem := NewWajibPajak() + if err := _elem.Read(ctx, iprot); err != nil { + return err + } + + p.WajibPajakList = append(p.WajibPajakList, _elem) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return err + } + return nil +} + +func (p *Role) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "Role"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField5(ctx, oprot); err != nil { + fieldId = 5 + goto WriteFieldError + } + if err = p.writeField6(ctx, oprot); err != nil { + fieldId = 6 + goto WriteFieldError + } + if err = p.writeField39(ctx, oprot); err != nil { + fieldId = 39 + goto WriteFieldError + } + if err = p.writeField40(ctx, oprot); err != nil { + fieldId = 40 + goto WriteFieldError + } + if err = p.writeField41(ctx, oprot); err != nil { + fieldId = 41 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *Role) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "id", thrift.I64, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(ctx, p.ID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *Role) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "displayName", thrift.STRING, 5); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(ctx, p.DisplayName); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 5 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 5 end error: ", p), err) +} + +func (p *Role) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "roleType", thrift.I32, 6); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI32(ctx, int32(p.RoleType)); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 6 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 6 end error: ", p), err) +} + +func (p *Role) writeField39(ctx context.Context, oprot thrift.TProtocol) (err error) { + if p.IsSetCreator() { + if err = oprot.WriteFieldBegin(ctx, "creator", thrift.STRUCT, 39); err != nil { + goto WriteFieldBeginError + } + if err := p.Creator.Write(ctx, oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 39 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 39 end error: ", p), err) +} + +func (p *Role) writeField40(ctx context.Context, oprot thrift.TProtocol) (err error) { + if p.IsSetUsers() { + if err = oprot.WriteFieldBegin(ctx, "users", thrift.LIST, 40); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Users)); err != nil { + return err + } + for _, v := range p.Users { + if err := v.Write(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 40 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 40 end error: ", p), err) +} + +func (p *Role) writeField41(ctx context.Context, oprot thrift.TProtocol) (err error) { + if p.IsSetWajibPajakList() { + if err = oprot.WriteFieldBegin(ctx, "wajibPajakList", thrift.LIST, 41); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.WajibPajakList)); err != nil { + return err + } + for _, v := range p.WajibPajakList { + if err := v.Write(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 41 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 41 end error: ", p), err) +} + +func (p *Role) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("Role(%+v)", *p) +} + +// @direct +type User struct { + ID int64 `thrift:"id,1" frugal:"1,default,i64" gorm:"primaryKey"` + Username string `thrift:"username,2" frugal:"2,default,string" core_v1_dto:"required" gorm:"index"` + Password string `thrift:"password,3" frugal:"3,default,string" core_v1_dto:"required"` + DisplayName string `thrift:"displayName,4" frugal:"4,default,string" core_v1_dto:"required"` + PrivateKey []byte `thrift:"privateKey,60" frugal:"60,default,binary" db:"privateKey" json:"privateKey"` + PublicKey []byte `thrift:"publicKey,61" frugal:"61,default,binary" db:"publicKey" json:"publicKey"` + // system roles + Roles []*Role `thrift:"roles,40,optional" frugal:"40,optional,list" gorm:"many2many:user_roles;foreignKey:id;references:id;"` + // wp owned by user + OwnedWajibPajakList []*WajibPajak `thrift:"ownedWajibPajakList,45,optional" frugal:"45,optional,list" gorm:"many2many:user_wps;foreignKey:id;references:id;constraint:OnDelete:CASCADE"` + // wp roles roles owned by user + RolesWajibPajakList []*Role `thrift:"rolesWajibPajakList,50,optional" frugal:"50,optional,list" gorm:"many2many:wp_roles;foreignKey:id;references:id;"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewUser, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0x4, 0x55, + 0x73, 0x65, 0x72, 0xb, 0x0, 0x2, 0x0, 0x0, + 0x0, 0x6, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0xf, 0x0, 0x3, 0xc, 0x0, 0x0, 0x0, 0x9, + 0x6, 0x0, 0x1, 0x0, 0x1, 0xb, 0x0, 0x2, + 0x0, 0x0, 0x0, 0x2, 0x69, 0x64, 0x8, 0x0, + 0x3, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0x4, + 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xa, 0x0, + 0x0, 0x6, 0x0, 0x1, 0x0, 0x2, 0xb, 0x0, + 0x2, 0x0, 0x0, 0x0, 0x8, 0x75, 0x73, 0x65, + 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x8, 0x0, 0x3, + 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0x4, 0x8, + 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, + 0x6, 0x0, 0x1, 0x0, 0x3, 0xb, 0x0, 0x2, + 0x0, 0x0, 0x0, 0x8, 0x70, 0x61, 0x73, 0x73, + 0x77, 0x6f, 0x72, 0x64, 0x8, 0x0, 0x3, 0x0, + 0x0, 0x0, 0x0, 0xc, 0x0, 0x4, 0x8, 0x0, + 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x6, + 0x0, 0x1, 0x0, 0x4, 0xb, 0x0, 0x2, 0x0, + 0x0, 0x0, 0xb, 0x64, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x8, 0x0, + 0x3, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0x4, + 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, + 0x0, 0x6, 0x0, 0x1, 0x0, 0x3c, 0xb, 0x0, + 0x2, 0x0, 0x0, 0x0, 0xa, 0x70, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x8, + 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, + 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, + 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x3d, 0xb, + 0x0, 0x2, 0x0, 0x0, 0x0, 0x9, 0x70, 0x75, + 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x8, + 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, + 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, + 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x28, 0xb, + 0x0, 0x2, 0x0, 0x0, 0x0, 0x5, 0x72, 0x6f, + 0x6c, 0x65, 0x73, 0x8, 0x0, 0x3, 0x0, 0x0, + 0x0, 0x2, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, + 0x0, 0x0, 0x0, 0xf, 0xc, 0x0, 0x3, 0x8, + 0x0, 0x1, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, + 0x0, 0x6, 0x0, 0x1, 0x0, 0x2d, 0xb, 0x0, + 0x2, 0x0, 0x0, 0x0, 0x13, 0x6f, 0x77, 0x6e, + 0x65, 0x64, 0x57, 0x61, 0x6a, 0x69, 0x62, 0x50, + 0x61, 0x6a, 0x61, 0x6b, 0x4c, 0x69, 0x73, 0x74, + 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x2, 0xc, + 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, + 0xf, 0xc, 0x0, 0x3, 0x8, 0x0, 0x1, 0x0, + 0x0, 0x0, 0xc, 0x0, 0x0, 0x0, 0x6, 0x0, + 0x1, 0x0, 0x32, 0xb, 0x0, 0x2, 0x0, 0x0, + 0x0, 0x13, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x57, + 0x61, 0x6a, 0x69, 0x62, 0x50, 0x61, 0x6a, 0x61, + 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x8, 0x0, 0x3, + 0x0, 0x0, 0x0, 0x2, 0xc, 0x0, 0x4, 0x8, + 0x0, 0x1, 0x0, 0x0, 0x0, 0xf, 0xc, 0x0, + 0x3, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xc, + 0x0, 0x0, 0x0, 0x0, + }) +} + +func NewUser() *User { + return &User{} +} + +func (p *User) InitDefault() { + *p = User{} +} + +func (p *User) GetID() (v int64) { + return p.ID +} + +func (p *User) GetUsername() (v string) { + return p.Username +} + +func (p *User) GetPassword() (v string) { + return p.Password +} + +func (p *User) GetDisplayName() (v string) { + return p.DisplayName +} + +func (p *User) GetPrivateKey() (v []byte) { + return p.PrivateKey +} + +func (p *User) GetPublicKey() (v []byte) { + return p.PublicKey +} + +var User_Roles_DEFAULT []*Role + +func (p *User) GetRoles() (v []*Role) { + if !p.IsSetRoles() { + return User_Roles_DEFAULT + } + return p.Roles +} + +var User_OwnedWajibPajakList_DEFAULT []*WajibPajak + +func (p *User) GetOwnedWajibPajakList() (v []*WajibPajak) { + if !p.IsSetOwnedWajibPajakList() { + return User_OwnedWajibPajakList_DEFAULT + } + return p.OwnedWajibPajakList +} + +var User_RolesWajibPajakList_DEFAULT []*Role + +func (p *User) GetRolesWajibPajakList() (v []*Role) { + if !p.IsSetRolesWajibPajakList() { + return User_RolesWajibPajakList_DEFAULT + } + return p.RolesWajibPajakList +} +func (p *User) SetID(val int64) { + p.ID = val +} +func (p *User) SetUsername(val string) { + p.Username = val +} +func (p *User) SetPassword(val string) { + p.Password = val +} +func (p *User) SetDisplayName(val string) { + p.DisplayName = val +} +func (p *User) SetPrivateKey(val []byte) { + p.PrivateKey = val +} +func (p *User) SetPublicKey(val []byte) { + p.PublicKey = val +} +func (p *User) SetRoles(val []*Role) { + p.Roles = val +} +func (p *User) SetOwnedWajibPajakList(val []*WajibPajak) { + p.OwnedWajibPajakList = val +} +func (p *User) SetRolesWajibPajakList(val []*Role) { + p.RolesWajibPajakList = val +} + +func (p *User) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_User = map[int16]string{ + 1: "id", + 2: "username", + 3: "password", + 4: "displayName", + 60: "privateKey", + 61: "publicKey", + 40: "roles", + 45: "ownedWajibPajakList", + 50: "rolesWajibPajakList", +} + +func (p *User) IsSetRoles() bool { + return p.Roles != nil +} + +func (p *User) IsSetOwnedWajibPajakList() bool { + return p.OwnedWajibPajakList != nil +} + +func (p *User) IsSetRolesWajibPajakList() bool { + return p.RolesWajibPajakList != nil +} + +func (p *User) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err = p.ReadField2(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 3: + if fieldTypeId == thrift.STRING { + if err = p.ReadField3(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 4: + if fieldTypeId == thrift.STRING { + if err = p.ReadField4(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 60: + if fieldTypeId == thrift.STRING { + if err = p.ReadField60(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 61: + if fieldTypeId == thrift.STRING { + if err = p.ReadField61(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 40: + if fieldTypeId == thrift.LIST { + if err = p.ReadField40(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 45: + if fieldTypeId == thrift.LIST { + if err = p.ReadField45(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 50: + if fieldTypeId == thrift.LIST { + if err = p.ReadField50(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_User[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *User) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return err + } else { + p.ID = v + } + return nil +} + +func (p *User) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return err + } else { + p.Username = v + } + return nil +} + +func (p *User) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return err + } else { + p.Password = v + } + return nil +} + +func (p *User) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return err + } else { + p.DisplayName = v + } + return nil +} + +func (p *User) ReadField60(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadBinary(ctx); err != nil { + return err + } else { + p.PrivateKey = []byte(v) + } + return nil +} + +func (p *User) ReadField61(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadBinary(ctx); err != nil { + return err + } else { + p.PublicKey = []byte(v) + } + return nil +} + +func (p *User) ReadField40(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return err + } + p.Roles = make([]*Role, 0, size) + for i := 0; i < size; i++ { + _elem := NewRole() + if err := _elem.Read(ctx, iprot); err != nil { + return err + } + + p.Roles = append(p.Roles, _elem) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return err + } + return nil +} + +func (p *User) ReadField45(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return err + } + p.OwnedWajibPajakList = make([]*WajibPajak, 0, size) + for i := 0; i < size; i++ { + _elem := NewWajibPajak() + if err := _elem.Read(ctx, iprot); err != nil { + return err + } + + p.OwnedWajibPajakList = append(p.OwnedWajibPajakList, _elem) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return err + } + return nil +} + +func (p *User) ReadField50(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return err + } + p.RolesWajibPajakList = make([]*Role, 0, size) + for i := 0; i < size; i++ { + _elem := NewRole() + if err := _elem.Read(ctx, iprot); err != nil { + return err + } + + p.RolesWajibPajakList = append(p.RolesWajibPajakList, _elem) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return err + } + return nil +} + +func (p *User) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "User"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField2(ctx, oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + if err = p.writeField3(ctx, oprot); err != nil { + fieldId = 3 + goto WriteFieldError + } + if err = p.writeField4(ctx, oprot); err != nil { + fieldId = 4 + goto WriteFieldError + } + if err = p.writeField60(ctx, oprot); err != nil { + fieldId = 60 + goto WriteFieldError + } + if err = p.writeField61(ctx, oprot); err != nil { + fieldId = 61 + goto WriteFieldError + } + if err = p.writeField40(ctx, oprot); err != nil { + fieldId = 40 + goto WriteFieldError + } + if err = p.writeField45(ctx, oprot); err != nil { + fieldId = 45 + goto WriteFieldError + } + if err = p.writeField50(ctx, oprot); err != nil { + fieldId = 50 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *User) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "id", thrift.I64, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(ctx, p.ID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *User) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "username", thrift.STRING, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(ctx, p.Username); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} + +func (p *User) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "password", thrift.STRING, 3); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(ctx, p.Password); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) +} + +func (p *User) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "displayName", thrift.STRING, 4); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(ctx, p.DisplayName); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 4 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) +} + +func (p *User) writeField60(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "privateKey", thrift.STRING, 60); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteBinary(ctx, []byte(p.PrivateKey)); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 60 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 60 end error: ", p), err) +} + +func (p *User) writeField61(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "publicKey", thrift.STRING, 61); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteBinary(ctx, []byte(p.PublicKey)); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 61 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 61 end error: ", p), err) +} + +func (p *User) writeField40(ctx context.Context, oprot thrift.TProtocol) (err error) { + if p.IsSetRoles() { + if err = oprot.WriteFieldBegin(ctx, "roles", thrift.LIST, 40); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Roles)); err != nil { + return err + } + for _, v := range p.Roles { + if err := v.Write(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 40 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 40 end error: ", p), err) +} + +func (p *User) writeField45(ctx context.Context, oprot thrift.TProtocol) (err error) { + if p.IsSetOwnedWajibPajakList() { + if err = oprot.WriteFieldBegin(ctx, "ownedWajibPajakList", thrift.LIST, 45); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.OwnedWajibPajakList)); err != nil { + return err + } + for _, v := range p.OwnedWajibPajakList { + if err := v.Write(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 45 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 45 end error: ", p), err) +} + +func (p *User) writeField50(ctx context.Context, oprot thrift.TProtocol) (err error) { + if p.IsSetRolesWajibPajakList() { + if err = oprot.WriteFieldBegin(ctx, "rolesWajibPajakList", thrift.LIST, 50); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.RolesWajibPajakList)); err != nil { + return err + } + for _, v := range p.RolesWajibPajakList { + if err := v.Write(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 50 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 50 end error: ", p), err) +} + +func (p *User) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("User(%+v)", *p) +} + +type WajibPajakProfile struct { + // 1: i64 id (go.tag = "gorm:\"primaryKey\"") + Npwp string `thrift:"npwp,2" frugal:"2,default,string" core_v1_dto:"required"` + DisplayName string `thrift:"displayName,3" frugal:"3,default,string" core_v1_dto:"required"` + Address string `thrift:"address,4" frugal:"4,default,string" core_v1_dto:"required"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewWajibPajakProfile, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0x11, 0x57, + 0x61, 0x6a, 0x69, 0x62, 0x50, 0x61, 0x6a, 0x61, + 0x6b, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x6, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0xf, 0x0, 0x3, + 0xc, 0x0, 0x0, 0x0, 0x3, 0x6, 0x0, 0x1, + 0x0, 0x2, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, + 0x4, 0x6e, 0x70, 0x77, 0x70, 0x8, 0x0, 0x3, + 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0x4, 0x8, + 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, + 0x6, 0x0, 0x1, 0x0, 0x3, 0xb, 0x0, 0x2, + 0x0, 0x0, 0x0, 0xb, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x8, + 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, + 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, + 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, 0x4, 0xb, + 0x0, 0x2, 0x0, 0x0, 0x0, 0x7, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x8, 0x0, 0x3, + 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0x4, 0x8, + 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, + 0x0, + }) +} + +func NewWajibPajakProfile() *WajibPajakProfile { + return &WajibPajakProfile{} +} + +func (p *WajibPajakProfile) InitDefault() { + *p = WajibPajakProfile{} +} + +func (p *WajibPajakProfile) GetNpwp() (v string) { + return p.Npwp +} + +func (p *WajibPajakProfile) GetDisplayName() (v string) { + return p.DisplayName +} + +func (p *WajibPajakProfile) GetAddress() (v string) { + return p.Address +} +func (p *WajibPajakProfile) SetNpwp(val string) { + p.Npwp = val +} +func (p *WajibPajakProfile) SetDisplayName(val string) { + p.DisplayName = val +} +func (p *WajibPajakProfile) SetAddress(val string) { + p.Address = val +} + +func (p *WajibPajakProfile) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_WajibPajakProfile = map[int16]string{ + 2: "npwp", + 3: "displayName", + 4: "address", +} + +func (p *WajibPajakProfile) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 2: + if fieldTypeId == thrift.STRING { + if err = p.ReadField2(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 3: + if fieldTypeId == thrift.STRING { + if err = p.ReadField3(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 4: + if fieldTypeId == thrift.STRING { + if err = p.ReadField4(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_WajibPajakProfile[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *WajibPajakProfile) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return err + } else { + p.Npwp = v + } + return nil +} + +func (p *WajibPajakProfile) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return err + } else { + p.DisplayName = v + } + return nil +} + +func (p *WajibPajakProfile) ReadField4(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return err + } else { + p.Address = v + } + return nil +} + +func (p *WajibPajakProfile) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "WajibPajakProfile"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField2(ctx, oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + if err = p.writeField3(ctx, oprot); err != nil { + fieldId = 3 + goto WriteFieldError + } + if err = p.writeField4(ctx, oprot); err != nil { + fieldId = 4 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *WajibPajakProfile) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "npwp", thrift.STRING, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(ctx, p.Npwp); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} + +func (p *WajibPajakProfile) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "displayName", thrift.STRING, 3); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(ctx, p.DisplayName); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) +} + +func (p *WajibPajakProfile) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "address", thrift.STRING, 4); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(ctx, p.Address); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 4 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) +} + +func (p *WajibPajakProfile) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("WajibPajakProfile(%+v)", *p) +} + +type WajibPajakTaxObligation struct { + ID int64 `thrift:"id,1" frugal:"1,default,i64" gorm:"primaryKey"` + Obligation JenisPajak `thrift:"obligation,2" frugal:"2,default,JenisPajak" gorm:"foreignKey:id;references:id"` + IsActive bool `thrift:"isActive,3" frugal:"3,default,bool" ` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewWajibPajakTaxObligation, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0x17, 0x57, + 0x61, 0x6a, 0x69, 0x62, 0x50, 0x61, 0x6a, 0x61, + 0x6b, 0x54, 0x61, 0x78, 0x4f, 0x62, 0x6c, 0x69, + 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0xb, 0x0, + 0x2, 0x0, 0x0, 0x0, 0x6, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0xf, 0x0, 0x3, 0xc, 0x0, + 0x0, 0x0, 0x3, 0x6, 0x0, 0x1, 0x0, 0x1, + 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x2, 0x69, + 0x64, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, + 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, + 0x0, 0xa, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, + 0x2, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0xa, + 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, + 0x0, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, + 0x0, 0x0, 0x8, 0x0, 0x0, 0x6, 0x0, 0x1, + 0x0, 0x3, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, + 0x8, 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, + 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, + 0x0, 0x2, 0x0, 0x0, 0x0, + }) +} + +func NewWajibPajakTaxObligation() *WajibPajakTaxObligation { + return &WajibPajakTaxObligation{} +} + +func (p *WajibPajakTaxObligation) InitDefault() { + *p = WajibPajakTaxObligation{} +} + +func (p *WajibPajakTaxObligation) GetID() (v int64) { + return p.ID +} + +func (p *WajibPajakTaxObligation) GetObligation() (v JenisPajak) { + return p.Obligation +} + +func (p *WajibPajakTaxObligation) GetIsActive() (v bool) { + return p.IsActive +} +func (p *WajibPajakTaxObligation) SetID(val int64) { + p.ID = val +} +func (p *WajibPajakTaxObligation) SetObligation(val JenisPajak) { + p.Obligation = val +} +func (p *WajibPajakTaxObligation) SetIsActive(val bool) { + p.IsActive = val +} + +func (p *WajibPajakTaxObligation) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_WajibPajakTaxObligation = map[int16]string{ + 1: "id", + 2: "obligation", + 3: "isActive", +} + +func (p *WajibPajakTaxObligation) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err = p.ReadField2(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 3: + if fieldTypeId == thrift.BOOL { + if err = p.ReadField3(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_WajibPajakTaxObligation[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *WajibPajakTaxObligation) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return err + } else { + p.ID = v + } + return nil +} + +func (p *WajibPajakTaxObligation) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return err + } else { + p.Obligation = JenisPajak(v) + } + return nil +} + +func (p *WajibPajakTaxObligation) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadBool(ctx); err != nil { + return err + } else { + p.IsActive = v + } + return nil +} + +func (p *WajibPajakTaxObligation) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "WajibPajakTaxObligation"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField2(ctx, oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + if err = p.writeField3(ctx, oprot); err != nil { + fieldId = 3 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *WajibPajakTaxObligation) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "id", thrift.I64, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(ctx, p.ID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *WajibPajakTaxObligation) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "obligation", thrift.I32, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI32(ctx, int32(p.Obligation)); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} + +func (p *WajibPajakTaxObligation) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "isActive", thrift.BOOL, 3); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteBool(ctx, p.IsActive); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) +} + +func (p *WajibPajakTaxObligation) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("WajibPajakTaxObligation(%+v)", *p) +} + +// @direct +type WajibPajak struct { + ID int64 `thrift:"id,1" frugal:"1,default,i64" gorm:"primaryKey"` + Profile *WajibPajakProfile `thrift:"profile,2" frugal:"2,default,WajibPajakProfile" gorm:"embedded;embeddedPrefix:profile_;constraint:OnDelete:CASCADE" core_v1_dto:"required"` + // wajib pajak owner + Owners []*User `thrift:"owners,30" frugal:"30,default,list" gorm:"many2many:wp_roles;foreignKey:id;references:id;"` + // wajib pajak tax obligations + TaxObligations []*WajibPajakTaxObligation `thrift:"taxObligations,40,optional" frugal:"40,optional,list" gorm:"many2many:wp_obligations;foreignKey:id;references:id;"` + // role bound to this WajibPajak + Roles []*Role `thrift:"roles,45,optional" frugal:"45,optional,list" gorm:"many2many:wp_roles;foreignKey:id;references:id;constraint:OnDelete:CASCADE"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewWajibPajak, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0xa, 0x57, + 0x61, 0x6a, 0x69, 0x62, 0x50, 0x61, 0x6a, 0x61, + 0x6b, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x6, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0xf, 0x0, + 0x3, 0xc, 0x0, 0x0, 0x0, 0x5, 0x6, 0x0, + 0x1, 0x0, 0x1, 0xb, 0x0, 0x2, 0x0, 0x0, + 0x0, 0x2, 0x69, 0x64, 0x8, 0x0, 0x3, 0x0, + 0x0, 0x0, 0x0, 0xc, 0x0, 0x4, 0x8, 0x0, + 0x1, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x6, + 0x0, 0x1, 0x0, 0x2, 0xb, 0x0, 0x2, 0x0, + 0x0, 0x0, 0x7, 0x70, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, + 0x0, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, + 0x0, 0x0, 0xc, 0x0, 0x0, 0x6, 0x0, 0x1, + 0x0, 0x1e, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, + 0x6, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x8, + 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, + 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xf, + 0xc, 0x0, 0x3, 0x8, 0x0, 0x1, 0x0, 0x0, + 0x0, 0xc, 0x0, 0x0, 0x0, 0x6, 0x0, 0x1, + 0x0, 0x28, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, + 0xe, 0x74, 0x61, 0x78, 0x4f, 0x62, 0x6c, 0x69, + 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x8, + 0x0, 0x3, 0x0, 0x0, 0x0, 0x2, 0xc, 0x0, + 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xf, + 0xc, 0x0, 0x3, 0x8, 0x0, 0x1, 0x0, 0x0, + 0x0, 0xc, 0x0, 0x0, 0x0, 0x6, 0x0, 0x1, + 0x0, 0x2d, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, + 0x5, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x8, 0x0, + 0x3, 0x0, 0x0, 0x0, 0x2, 0xc, 0x0, 0x4, + 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xf, 0xc, + 0x0, 0x3, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, + 0xc, 0x0, 0x0, 0x0, 0x0, + }) +} + +func NewWajibPajak() *WajibPajak { + return &WajibPajak{} +} + +func (p *WajibPajak) InitDefault() { + *p = WajibPajak{} +} + +func (p *WajibPajak) GetID() (v int64) { + return p.ID +} + +var WajibPajak_Profile_DEFAULT *WajibPajakProfile + +func (p *WajibPajak) GetProfile() (v *WajibPajakProfile) { + if !p.IsSetProfile() { + return WajibPajak_Profile_DEFAULT + } + return p.Profile +} + +func (p *WajibPajak) GetOwners() (v []*User) { + return p.Owners +} + +var WajibPajak_TaxObligations_DEFAULT []*WajibPajakTaxObligation + +func (p *WajibPajak) GetTaxObligations() (v []*WajibPajakTaxObligation) { + if !p.IsSetTaxObligations() { + return WajibPajak_TaxObligations_DEFAULT + } + return p.TaxObligations +} + +var WajibPajak_Roles_DEFAULT []*Role + +func (p *WajibPajak) GetRoles() (v []*Role) { + if !p.IsSetRoles() { + return WajibPajak_Roles_DEFAULT + } + return p.Roles +} +func (p *WajibPajak) SetID(val int64) { + p.ID = val +} +func (p *WajibPajak) SetProfile(val *WajibPajakProfile) { + p.Profile = val +} +func (p *WajibPajak) SetOwners(val []*User) { + p.Owners = val +} +func (p *WajibPajak) SetTaxObligations(val []*WajibPajakTaxObligation) { + p.TaxObligations = val +} +func (p *WajibPajak) SetRoles(val []*Role) { + p.Roles = val +} + +func (p *WajibPajak) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_WajibPajak = map[int16]string{ + 1: "id", + 2: "profile", + 30: "owners", + 40: "taxObligations", + 45: "roles", +} + +func (p *WajibPajak) IsSetProfile() bool { + return p.Profile != nil +} + +func (p *WajibPajak) IsSetTaxObligations() bool { + return p.TaxObligations != nil +} + +func (p *WajibPajak) IsSetRoles() bool { + return p.Roles != nil +} + +func (p *WajibPajak) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField2(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 30: + if fieldTypeId == thrift.LIST { + if err = p.ReadField30(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 40: + if fieldTypeId == thrift.LIST { + if err = p.ReadField40(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 45: + if fieldTypeId == thrift.LIST { + if err = p.ReadField45(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_WajibPajak[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *WajibPajak) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return err + } else { + p.ID = v + } + return nil +} + +func (p *WajibPajak) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + p.Profile = NewWajibPajakProfile() + if err := p.Profile.Read(ctx, iprot); err != nil { + return err + } + return nil +} + +func (p *WajibPajak) ReadField30(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return err + } + p.Owners = make([]*User, 0, size) + for i := 0; i < size; i++ { + _elem := NewUser() + if err := _elem.Read(ctx, iprot); err != nil { + return err + } + + p.Owners = append(p.Owners, _elem) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return err + } + return nil +} + +func (p *WajibPajak) ReadField40(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return err + } + p.TaxObligations = make([]*WajibPajakTaxObligation, 0, size) + for i := 0; i < size; i++ { + _elem := NewWajibPajakTaxObligation() + if err := _elem.Read(ctx, iprot); err != nil { + return err + } + + p.TaxObligations = append(p.TaxObligations, _elem) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return err + } + return nil +} + +func (p *WajibPajak) ReadField45(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return err + } + p.Roles = make([]*Role, 0, size) + for i := 0; i < size; i++ { + _elem := NewRole() + if err := _elem.Read(ctx, iprot); err != nil { + return err + } + + p.Roles = append(p.Roles, _elem) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return err + } + return nil +} + +func (p *WajibPajak) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "WajibPajak"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField2(ctx, oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + if err = p.writeField30(ctx, oprot); err != nil { + fieldId = 30 + goto WriteFieldError + } + if err = p.writeField40(ctx, oprot); err != nil { + fieldId = 40 + goto WriteFieldError + } + if err = p.writeField45(ctx, oprot); err != nil { + fieldId = 45 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *WajibPajak) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "id", thrift.I64, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(ctx, p.ID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *WajibPajak) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "profile", thrift.STRUCT, 2); err != nil { + goto WriteFieldBeginError + } + if err := p.Profile.Write(ctx, oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} + +func (p *WajibPajak) writeField30(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "owners", thrift.LIST, 30); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Owners)); err != nil { + return err + } + for _, v := range p.Owners { + if err := v.Write(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 30 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 30 end error: ", p), err) +} + +func (p *WajibPajak) writeField40(ctx context.Context, oprot thrift.TProtocol) (err error) { + if p.IsSetTaxObligations() { + if err = oprot.WriteFieldBegin(ctx, "taxObligations", thrift.LIST, 40); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.TaxObligations)); err != nil { + return err + } + for _, v := range p.TaxObligations { + if err := v.Write(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 40 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 40 end error: ", p), err) +} + +func (p *WajibPajak) writeField45(ctx context.Context, oprot thrift.TProtocol) (err error) { + if p.IsSetRoles() { + if err = oprot.WriteFieldBegin(ctx, "roles", thrift.LIST, 45); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Roles)); err != nil { + return err + } + for _, v := range p.Roles { + if err := v.Write(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 45 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 45 end error: ", p), err) +} + +func (p *WajibPajak) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("WajibPajak(%+v)", *p) +} + +// ---------------------------------------------------------------- +type Pagination struct { + Page int64 `thrift:"page,1" frugal:"1,default,i64" db:"page" json:"page"` + RowsPerPage int64 `thrift:"rowsPerPage,2" frugal:"2,default,i64" db:"rowsPerPage" json:"rowsPerPage"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewPagination, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0xa, 0x50, + 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x6, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0xf, 0x0, + 0x3, 0xc, 0x0, 0x0, 0x0, 0x2, 0x6, 0x0, + 0x1, 0x0, 0x1, 0xb, 0x0, 0x2, 0x0, 0x0, + 0x0, 0x4, 0x70, 0x61, 0x67, 0x65, 0x8, 0x0, + 0x3, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0x4, + 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xa, 0x0, + 0x0, 0x6, 0x0, 0x1, 0x0, 0x2, 0xb, 0x0, + 0x2, 0x0, 0x0, 0x0, 0xb, 0x72, 0x6f, 0x77, + 0x73, 0x50, 0x65, 0x72, 0x50, 0x61, 0x67, 0x65, + 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0xc, + 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, + 0xa, 0x0, 0x0, 0x0, + }) +} + +func NewPagination() *Pagination { + return &Pagination{} +} + +func (p *Pagination) InitDefault() { + *p = Pagination{} +} + +func (p *Pagination) GetPage() (v int64) { + return p.Page +} + +func (p *Pagination) GetRowsPerPage() (v int64) { + return p.RowsPerPage +} +func (p *Pagination) SetPage(val int64) { + p.Page = val +} +func (p *Pagination) SetRowsPerPage(val int64) { + p.RowsPerPage = val +} + +func (p *Pagination) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_Pagination = map[int16]string{ + 1: "page", + 2: "rowsPerPage", +} + +func (p *Pagination) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.I64 { + if err = p.ReadField2(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_Pagination[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *Pagination) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return err + } else { + p.Page = v + } + return nil +} + +func (p *Pagination) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return err + } else { + p.RowsPerPage = v + } + return nil +} + +func (p *Pagination) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "Pagination"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField2(ctx, oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *Pagination) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "page", thrift.I64, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(ctx, p.Page); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *Pagination) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "rowsPerPage", thrift.I64, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(ctx, p.RowsPerPage); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} + +func (p *Pagination) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("Pagination(%+v)", *p) +} + +type AlertInfo struct { + Title string `thrift:"title,1" frugal:"1,default,string" db:"title" json:"title"` + Description string `thrift:"description,2" frugal:"2,default,string" db:"description" json:"description"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewAlertInfo, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0x9, 0x41, + 0x6c, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, + 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x6, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0xf, 0x0, 0x3, + 0xc, 0x0, 0x0, 0x0, 0x2, 0x6, 0x0, 0x1, + 0x0, 0x1, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, + 0x5, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x8, 0x0, + 0x3, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0x4, + 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, + 0x0, 0x6, 0x0, 0x1, 0x0, 0x2, 0xb, 0x0, + 0x2, 0x0, 0x0, 0x0, 0xb, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0xc, + 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, + 0xb, 0x0, 0x0, 0x0, + }) +} + +func NewAlertInfo() *AlertInfo { + return &AlertInfo{} +} + +func (p *AlertInfo) InitDefault() { + *p = AlertInfo{} +} + +func (p *AlertInfo) GetTitle() (v string) { + return p.Title +} + +func (p *AlertInfo) GetDescription() (v string) { + return p.Description +} +func (p *AlertInfo) SetTitle(val string) { + p.Title = val +} +func (p *AlertInfo) SetDescription(val string) { + p.Description = val +} + +func (p *AlertInfo) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_AlertInfo = map[int16]string{ + 1: "title", + 2: "description", +} + +func (p *AlertInfo) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err = p.ReadField2(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_AlertInfo[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *AlertInfo) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return err + } else { + p.Title = v + } + return nil +} + +func (p *AlertInfo) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return err + } else { + p.Description = v + } + return nil +} + +func (p *AlertInfo) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "AlertInfo"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField2(ctx, oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *AlertInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "title", thrift.STRING, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(ctx, p.Title); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *AlertInfo) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "description", thrift.STRING, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(ctx, p.Description); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} + +func (p *AlertInfo) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("AlertInfo(%+v)", *p) +} + +// ---------------------------------------------------------------- +type LoginRequest struct { + Username string `thrift:"username,1" frugal:"1,default,string" core_v1_dto:"required"` + Password string `thrift:"password,2" frugal:"2,default,string" core_v1_dto:"required"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewLoginRequest, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0xc, 0x4c, + 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0xb, 0x0, 0x2, 0x0, 0x0, + 0x0, 0x6, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0xf, 0x0, 0x3, 0xc, 0x0, 0x0, 0x0, 0x2, + 0x6, 0x0, 0x1, 0x0, 0x1, 0xb, 0x0, 0x2, + 0x0, 0x0, 0x0, 0x8, 0x75, 0x73, 0x65, 0x72, + 0x6e, 0x61, 0x6d, 0x65, 0x8, 0x0, 0x3, 0x0, + 0x0, 0x0, 0x0, 0xc, 0x0, 0x4, 0x8, 0x0, + 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x6, + 0x0, 0x1, 0x0, 0x2, 0xb, 0x0, 0x2, 0x0, + 0x0, 0x0, 0x8, 0x70, 0x61, 0x73, 0x73, 0x77, + 0x6f, 0x72, 0x64, 0x8, 0x0, 0x3, 0x0, 0x0, + 0x0, 0x0, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, + 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x0, + }) +} + +func NewLoginRequest() *LoginRequest { + return &LoginRequest{} +} + +func (p *LoginRequest) InitDefault() { + *p = LoginRequest{} +} + +func (p *LoginRequest) GetUsername() (v string) { + return p.Username +} + +func (p *LoginRequest) GetPassword() (v string) { + return p.Password +} +func (p *LoginRequest) SetUsername(val string) { + p.Username = val +} +func (p *LoginRequest) SetPassword(val string) { + p.Password = val +} + +func (p *LoginRequest) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_LoginRequest = map[int16]string{ + 1: "username", + 2: "password", +} + +func (p *LoginRequest) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err = p.ReadField2(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_LoginRequest[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *LoginRequest) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return err + } else { + p.Username = v + } + return nil +} + +func (p *LoginRequest) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return err + } else { + p.Password = v + } + return nil +} + +func (p *LoginRequest) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "LoginRequest"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField2(ctx, oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *LoginRequest) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "username", thrift.STRING, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(ctx, p.Username); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *LoginRequest) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "password", thrift.STRING, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(ctx, p.Password); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} + +func (p *LoginRequest) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("LoginRequest(%+v)", *p) +} + +type LoginResponse struct { + TrkToken string `thrift:"trkToken,1" frugal:"1,default,string" db:"trkToken" json:"trkToken"` + Token string `thrift:"token,2" frugal:"2,default,string" db:"token" json:"token"` + Profile *User `thrift:"profile,10,optional" frugal:"10,optional,User" db:"profile" json:"profile,omitempty"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewLoginResponse, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0xd, 0x4c, + 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0xb, 0x0, 0x2, 0x0, + 0x0, 0x0, 0x6, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0xf, 0x0, 0x3, 0xc, 0x0, 0x0, 0x0, + 0x3, 0x6, 0x0, 0x1, 0x0, 0x1, 0xb, 0x0, + 0x2, 0x0, 0x0, 0x0, 0x8, 0x74, 0x72, 0x6b, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x8, 0x0, 0x3, + 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0x4, 0x8, + 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, + 0x6, 0x0, 0x1, 0x0, 0x2, 0xb, 0x0, 0x2, + 0x0, 0x0, 0x0, 0x5, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, + 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, + 0x0, 0xb, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, + 0xa, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x7, + 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x8, + 0x0, 0x3, 0x0, 0x0, 0x0, 0x2, 0xc, 0x0, + 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xc, + 0x0, 0x0, 0x0, + }) +} + +func NewLoginResponse() *LoginResponse { + return &LoginResponse{} +} + +func (p *LoginResponse) InitDefault() { + *p = LoginResponse{} +} + +func (p *LoginResponse) GetTrkToken() (v string) { + return p.TrkToken +} + +func (p *LoginResponse) GetToken() (v string) { + return p.Token +} + +var LoginResponse_Profile_DEFAULT *User + +func (p *LoginResponse) GetProfile() (v *User) { + if !p.IsSetProfile() { + return LoginResponse_Profile_DEFAULT + } + return p.Profile +} +func (p *LoginResponse) SetTrkToken(val string) { + p.TrkToken = val +} +func (p *LoginResponse) SetToken(val string) { + p.Token = val +} +func (p *LoginResponse) SetProfile(val *User) { + p.Profile = val +} + +func (p *LoginResponse) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_LoginResponse = map[int16]string{ + 1: "trkToken", + 2: "token", + 10: "profile", +} + +func (p *LoginResponse) IsSetProfile() bool { + return p.Profile != nil +} + +func (p *LoginResponse) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err = p.ReadField2(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 10: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField10(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_LoginResponse[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *LoginResponse) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return err + } else { + p.TrkToken = v + } + return nil +} + +func (p *LoginResponse) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return err + } else { + p.Token = v + } + return nil +} + +func (p *LoginResponse) ReadField10(ctx context.Context, iprot thrift.TProtocol) error { + p.Profile = NewUser() + if err := p.Profile.Read(ctx, iprot); err != nil { + return err + } + return nil +} + +func (p *LoginResponse) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "LoginResponse"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField2(ctx, oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + if err = p.writeField10(ctx, oprot); err != nil { + fieldId = 10 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *LoginResponse) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "trkToken", thrift.STRING, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(ctx, p.TrkToken); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *LoginResponse) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "token", thrift.STRING, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(ctx, p.Token); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} + +func (p *LoginResponse) writeField10(ctx context.Context, oprot thrift.TProtocol) (err error) { + if p.IsSetProfile() { + if err = oprot.WriteFieldBegin(ctx, "profile", thrift.STRUCT, 10); err != nil { + goto WriteFieldBeginError + } + if err := p.Profile.Write(ctx, oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 10 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 10 end error: ", p), err) +} + +func (p *LoginResponse) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("LoginResponse(%+v)", *p) +} + +type LogoutRequest struct { + Token string `thrift:"token,1" frugal:"1,default,string" core_v1_dto:"required"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewLogoutRequest, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0xd, 0x4c, + 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0xb, 0x0, 0x2, 0x0, + 0x0, 0x0, 0x6, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0xf, 0x0, 0x3, 0xc, 0x0, 0x0, 0x0, + 0x1, 0x6, 0x0, 0x1, 0x0, 0x1, 0xb, 0x0, + 0x2, 0x0, 0x0, 0x0, 0x5, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, + 0x0, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, + 0x0, 0x0, 0xb, 0x0, 0x0, 0x0, + }) +} + +func NewLogoutRequest() *LogoutRequest { + return &LogoutRequest{} +} + +func (p *LogoutRequest) InitDefault() { + *p = LogoutRequest{} +} + +func (p *LogoutRequest) GetToken() (v string) { + return p.Token +} +func (p *LogoutRequest) SetToken(val string) { + p.Token = val +} + +func (p *LogoutRequest) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_LogoutRequest = map[int16]string{ + 1: "token", +} + +func (p *LogoutRequest) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRING { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_LogoutRequest[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *LogoutRequest) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return err + } else { + p.Token = v + } + return nil +} + +func (p *LogoutRequest) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "LogoutRequest"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *LogoutRequest) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "token", thrift.STRING, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(ctx, p.Token); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *LogoutRequest) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("LogoutRequest(%+v)", *p) +} + +type LogoutResponse struct { + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewLogoutResponse, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0xe, 0x4c, + 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0xb, 0x0, 0x2, + 0x0, 0x0, 0x0, 0x6, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0xf, 0x0, 0x3, 0xc, 0x0, 0x0, + 0x0, 0x0, 0x0, + }) +} + +func NewLogoutResponse() *LogoutResponse { + return &LogoutResponse{} +} + +func (p *LogoutResponse) InitDefault() { + *p = LogoutResponse{} +} + +func (p *LogoutResponse) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_LogoutResponse = map[int16]string{} + +func (p *LogoutResponse) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *LogoutResponse) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteStructBegin(ctx, "LogoutResponse"); err != nil { + goto WriteStructBeginError + } + if p != nil { + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *LogoutResponse) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("LogoutResponse(%+v)", *p) +} + +type GetProfileRequest struct { + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewGetProfileRequest, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0x11, 0x47, + 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x6, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0xf, 0x0, 0x3, + 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, + }) +} + +func NewGetProfileRequest() *GetProfileRequest { + return &GetProfileRequest{} +} + +func (p *GetProfileRequest) InitDefault() { + *p = GetProfileRequest{} +} + +func (p *GetProfileRequest) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_GetProfileRequest = map[int16]string{} + +func (p *GetProfileRequest) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *GetProfileRequest) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteStructBegin(ctx, "GetProfileRequest"); err != nil { + goto WriteStructBeginError + } + if p != nil { + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *GetProfileRequest) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("GetProfileRequest(%+v)", *p) +} + +type GetProfileResponse struct { + Profile *User `thrift:"profile,2" frugal:"2,default,User" db:"profile" json:"profile"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewGetProfileResponse, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0x12, 0x47, + 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x6, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0xf, 0x0, + 0x3, 0xc, 0x0, 0x0, 0x0, 0x1, 0x6, 0x0, + 0x1, 0x0, 0x2, 0xb, 0x0, 0x2, 0x0, 0x0, + 0x0, 0x7, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, + 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, + 0x0, 0xc, 0x0, 0x0, 0x0, + }) +} + +func NewGetProfileResponse() *GetProfileResponse { + return &GetProfileResponse{} +} + +func (p *GetProfileResponse) InitDefault() { + *p = GetProfileResponse{} +} + +var GetProfileResponse_Profile_DEFAULT *User + +func (p *GetProfileResponse) GetProfile() (v *User) { + if !p.IsSetProfile() { + return GetProfileResponse_Profile_DEFAULT + } + return p.Profile +} +func (p *GetProfileResponse) SetProfile(val *User) { + p.Profile = val +} + +func (p *GetProfileResponse) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_GetProfileResponse = map[int16]string{ + 2: "profile", +} + +func (p *GetProfileResponse) IsSetProfile() bool { + return p.Profile != nil +} + +func (p *GetProfileResponse) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 2: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField2(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_GetProfileResponse[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *GetProfileResponse) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + p.Profile = NewUser() + if err := p.Profile.Read(ctx, iprot); err != nil { + return err + } + return nil +} + +func (p *GetProfileResponse) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "GetProfileResponse"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField2(ctx, oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *GetProfileResponse) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "profile", thrift.STRUCT, 2); err != nil { + goto WriteFieldBeginError + } + if err := p.Profile.Write(ctx, oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} + +func (p *GetProfileResponse) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("GetProfileResponse(%+v)", *p) +} + +type GetUserListRequest struct { + Pagination *Pagination `thrift:"pagination,1" frugal:"1,default,Pagination" db:"pagination" json:"pagination"` + SearchTerm string `thrift:"searchTerm,3" frugal:"3,default,string" db:"searchTerm" json:"searchTerm"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewGetUserListRequest, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0x12, 0x47, + 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x6, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0xf, 0x0, + 0x3, 0xc, 0x0, 0x0, 0x0, 0x2, 0x6, 0x0, + 0x1, 0x0, 0x1, 0xb, 0x0, 0x2, 0x0, 0x0, + 0x0, 0xa, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x8, 0x0, 0x3, 0x0, + 0x0, 0x0, 0x0, 0xc, 0x0, 0x4, 0x8, 0x0, + 0x1, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x6, + 0x0, 0x1, 0x0, 0x3, 0xb, 0x0, 0x2, 0x0, + 0x0, 0x0, 0xa, 0x73, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x54, 0x65, 0x72, 0x6d, 0x8, 0x0, 0x3, + 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0x4, 0x8, + 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, + 0x0, + }) +} + +func NewGetUserListRequest() *GetUserListRequest { + return &GetUserListRequest{} +} + +func (p *GetUserListRequest) InitDefault() { + *p = GetUserListRequest{} +} + +var GetUserListRequest_Pagination_DEFAULT *Pagination + +func (p *GetUserListRequest) GetPagination() (v *Pagination) { + if !p.IsSetPagination() { + return GetUserListRequest_Pagination_DEFAULT + } + return p.Pagination +} + +func (p *GetUserListRequest) GetSearchTerm() (v string) { + return p.SearchTerm +} +func (p *GetUserListRequest) SetPagination(val *Pagination) { + p.Pagination = val +} +func (p *GetUserListRequest) SetSearchTerm(val string) { + p.SearchTerm = val +} + +func (p *GetUserListRequest) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_GetUserListRequest = map[int16]string{ + 1: "pagination", + 3: "searchTerm", +} + +func (p *GetUserListRequest) IsSetPagination() bool { + return p.Pagination != nil +} + +func (p *GetUserListRequest) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 3: + if fieldTypeId == thrift.STRING { + if err = p.ReadField3(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_GetUserListRequest[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *GetUserListRequest) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + p.Pagination = NewPagination() + if err := p.Pagination.Read(ctx, iprot); err != nil { + return err + } + return nil +} + +func (p *GetUserListRequest) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return err + } else { + p.SearchTerm = v + } + return nil +} + +func (p *GetUserListRequest) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "GetUserListRequest"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField3(ctx, oprot); err != nil { + fieldId = 3 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *GetUserListRequest) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "pagination", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.Pagination.Write(ctx, oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *GetUserListRequest) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "searchTerm", thrift.STRING, 3); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(ctx, p.SearchTerm); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) +} + +func (p *GetUserListRequest) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("GetUserListRequest(%+v)", *p) +} + +type GetUserListResponse struct { + Pagination *Pagination `thrift:"pagination,1" frugal:"1,default,Pagination" db:"pagination" json:"pagination"` + TotalUsers int64 `thrift:"totalUsers,2" frugal:"2,default,i64" db:"totalUsers" json:"totalUsers"` + Users []*User `thrift:"users,3" frugal:"3,default,list" db:"users" json:"users"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewGetUserListResponse, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0x13, 0x47, + 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, + 0x6, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0xf, + 0x0, 0x3, 0xc, 0x0, 0x0, 0x0, 0x3, 0x6, + 0x0, 0x1, 0x0, 0x1, 0xb, 0x0, 0x2, 0x0, + 0x0, 0x0, 0xa, 0x70, 0x61, 0x67, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x8, 0x0, 0x3, + 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0x4, 0x8, + 0x0, 0x1, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, + 0x6, 0x0, 0x1, 0x0, 0x2, 0xb, 0x0, 0x2, + 0x0, 0x0, 0x0, 0xa, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x55, 0x73, 0x65, 0x72, 0x73, 0x8, 0x0, + 0x3, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0x4, + 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xa, 0x0, + 0x0, 0x6, 0x0, 0x1, 0x0, 0x3, 0xb, 0x0, + 0x2, 0x0, 0x0, 0x0, 0x5, 0x75, 0x73, 0x65, + 0x72, 0x73, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, + 0x0, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, + 0x0, 0x0, 0xf, 0xc, 0x0, 0x3, 0x8, 0x0, + 0x1, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x0, + 0x0, + }) +} + +func NewGetUserListResponse() *GetUserListResponse { + return &GetUserListResponse{} +} + +func (p *GetUserListResponse) InitDefault() { + *p = GetUserListResponse{} +} + +var GetUserListResponse_Pagination_DEFAULT *Pagination + +func (p *GetUserListResponse) GetPagination() (v *Pagination) { + if !p.IsSetPagination() { + return GetUserListResponse_Pagination_DEFAULT + } + return p.Pagination +} + +func (p *GetUserListResponse) GetTotalUsers() (v int64) { + return p.TotalUsers +} + +func (p *GetUserListResponse) GetUsers() (v []*User) { + return p.Users +} +func (p *GetUserListResponse) SetPagination(val *Pagination) { + p.Pagination = val +} +func (p *GetUserListResponse) SetTotalUsers(val int64) { + p.TotalUsers = val +} +func (p *GetUserListResponse) SetUsers(val []*User) { + p.Users = val +} + +func (p *GetUserListResponse) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_GetUserListResponse = map[int16]string{ + 1: "pagination", + 2: "totalUsers", + 3: "users", +} + +func (p *GetUserListResponse) IsSetPagination() bool { + return p.Pagination != nil +} + +func (p *GetUserListResponse) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.I64 { + if err = p.ReadField2(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 3: + if fieldTypeId == thrift.LIST { + if err = p.ReadField3(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_GetUserListResponse[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *GetUserListResponse) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + p.Pagination = NewPagination() + if err := p.Pagination.Read(ctx, iprot); err != nil { + return err + } + return nil +} + +func (p *GetUserListResponse) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return err + } else { + p.TotalUsers = v + } + return nil +} + +func (p *GetUserListResponse) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return err + } + p.Users = make([]*User, 0, size) + for i := 0; i < size; i++ { + _elem := NewUser() + if err := _elem.Read(ctx, iprot); err != nil { + return err + } + + p.Users = append(p.Users, _elem) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return err + } + return nil +} + +func (p *GetUserListResponse) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "GetUserListResponse"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField2(ctx, oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + if err = p.writeField3(ctx, oprot); err != nil { + fieldId = 3 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *GetUserListResponse) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "pagination", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.Pagination.Write(ctx, oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *GetUserListResponse) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "totalUsers", thrift.I64, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(ctx, p.TotalUsers); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} + +func (p *GetUserListResponse) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "users", thrift.LIST, 3); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Users)); err != nil { + return err + } + for _, v := range p.Users { + if err := v.Write(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) +} + +func (p *GetUserListResponse) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("GetUserListResponse(%+v)", *p) +} + +type CreateUserRequest struct { + User *User `thrift:"user,1" frugal:"1,default,User" db:"user" json:"user"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewCreateUserRequest, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0x11, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x6, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0xf, 0x0, 0x3, + 0xc, 0x0, 0x0, 0x0, 0x1, 0x6, 0x0, 0x1, + 0x0, 0x1, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, + 0x4, 0x75, 0x73, 0x65, 0x72, 0x8, 0x0, 0x3, + 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0x4, 0x8, + 0x0, 0x1, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, + 0x0, + }) +} + +func NewCreateUserRequest() *CreateUserRequest { + return &CreateUserRequest{} +} + +func (p *CreateUserRequest) InitDefault() { + *p = CreateUserRequest{} +} + +var CreateUserRequest_User_DEFAULT *User + +func (p *CreateUserRequest) GetUser() (v *User) { + if !p.IsSetUser() { + return CreateUserRequest_User_DEFAULT + } + return p.User +} +func (p *CreateUserRequest) SetUser(val *User) { + p.User = val +} + +func (p *CreateUserRequest) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_CreateUserRequest = map[int16]string{ + 1: "user", +} + +func (p *CreateUserRequest) IsSetUser() bool { + return p.User != nil +} + +func (p *CreateUserRequest) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_CreateUserRequest[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *CreateUserRequest) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + p.User = NewUser() + if err := p.User.Read(ctx, iprot); err != nil { + return err + } + return nil +} + +func (p *CreateUserRequest) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "CreateUserRequest"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *CreateUserRequest) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "user", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.User.Write(ctx, oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *CreateUserRequest) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("CreateUserRequest(%+v)", *p) +} + +type CreateUserResponse struct { + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewCreateUserResponse, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0x12, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x6, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0xf, 0x0, + 0x3, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, + }) +} + +func NewCreateUserResponse() *CreateUserResponse { + return &CreateUserResponse{} +} + +func (p *CreateUserResponse) InitDefault() { + *p = CreateUserResponse{} +} + +func (p *CreateUserResponse) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_CreateUserResponse = map[int16]string{} + +func (p *CreateUserResponse) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *CreateUserResponse) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteStructBegin(ctx, "CreateUserResponse"); err != nil { + goto WriteStructBeginError + } + if p != nil { + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *CreateUserResponse) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("CreateUserResponse(%+v)", *p) +} + +type DeleteUsersRequest struct { + UserIds []int64 `thrift:"userIds,1" frugal:"1,default,list" db:"userIds" json:"userIds"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewDeleteUsersRequest, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0x12, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, + 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x6, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0xf, 0x0, + 0x3, 0xc, 0x0, 0x0, 0x0, 0x1, 0x6, 0x0, + 0x1, 0x0, 0x1, 0xb, 0x0, 0x2, 0x0, 0x0, + 0x0, 0x7, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, + 0x73, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, + 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, + 0x0, 0xf, 0xc, 0x0, 0x3, 0x8, 0x0, 0x1, + 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0x0, + }) +} + +func NewDeleteUsersRequest() *DeleteUsersRequest { + return &DeleteUsersRequest{} +} + +func (p *DeleteUsersRequest) InitDefault() { + *p = DeleteUsersRequest{} +} + +func (p *DeleteUsersRequest) GetUserIds() (v []int64) { + return p.UserIds +} +func (p *DeleteUsersRequest) SetUserIds(val []int64) { + p.UserIds = val +} + +func (p *DeleteUsersRequest) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_DeleteUsersRequest = map[int16]string{ + 1: "userIds", +} + +func (p *DeleteUsersRequest) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_DeleteUsersRequest[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *DeleteUsersRequest) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return err + } + p.UserIds = make([]int64, 0, size) + for i := 0; i < size; i++ { + var _elem int64 + if v, err := iprot.ReadI64(ctx); err != nil { + return err + } else { + _elem = v + } + + p.UserIds = append(p.UserIds, _elem) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return err + } + return nil +} + +func (p *DeleteUsersRequest) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "DeleteUsersRequest"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *DeleteUsersRequest) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "userIds", thrift.LIST, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(ctx, thrift.I64, len(p.UserIds)); err != nil { + return err + } + for _, v := range p.UserIds { + if err := oprot.WriteI64(ctx, v); err != nil { + return err + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *DeleteUsersRequest) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("DeleteUsersRequest(%+v)", *p) +} + +type DeleteUsersResponse struct { + Success []int64 `thrift:"success,1" frugal:"1,default,list" db:"success" json:"success"` + Ignored []int64 `thrift:"ignored,2" frugal:"2,default,list" db:"ignored" json:"ignored"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewDeleteUsersResponse, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0x13, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, + 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, + 0x6, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0xf, + 0x0, 0x3, 0xc, 0x0, 0x0, 0x0, 0x2, 0x6, + 0x0, 0x1, 0x0, 0x1, 0xb, 0x0, 0x2, 0x0, + 0x0, 0x0, 0x7, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, + 0x0, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, + 0x0, 0x0, 0xf, 0xc, 0x0, 0x3, 0x8, 0x0, + 0x1, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, + 0x6, 0x0, 0x1, 0x0, 0x2, 0xb, 0x0, 0x2, + 0x0, 0x0, 0x0, 0x7, 0x69, 0x67, 0x6e, 0x6f, + 0x72, 0x65, 0x64, 0x8, 0x0, 0x3, 0x0, 0x0, + 0x0, 0x0, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, + 0x0, 0x0, 0x0, 0xf, 0xc, 0x0, 0x3, 0x8, + 0x0, 0x1, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, + 0x0, 0x0, + }) +} + +func NewDeleteUsersResponse() *DeleteUsersResponse { + return &DeleteUsersResponse{} +} + +func (p *DeleteUsersResponse) InitDefault() { + *p = DeleteUsersResponse{} +} + +func (p *DeleteUsersResponse) GetSuccess() (v []int64) { + return p.Success +} + +func (p *DeleteUsersResponse) GetIgnored() (v []int64) { + return p.Ignored +} +func (p *DeleteUsersResponse) SetSuccess(val []int64) { + p.Success = val +} +func (p *DeleteUsersResponse) SetIgnored(val []int64) { + p.Ignored = val +} + +func (p *DeleteUsersResponse) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_DeleteUsersResponse = map[int16]string{ + 1: "success", + 2: "ignored", +} + +func (p *DeleteUsersResponse) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.LIST { + if err = p.ReadField2(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_DeleteUsersResponse[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *DeleteUsersResponse) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return err + } + p.Success = make([]int64, 0, size) + for i := 0; i < size; i++ { + var _elem int64 + if v, err := iprot.ReadI64(ctx); err != nil { + return err + } else { + _elem = v + } + + p.Success = append(p.Success, _elem) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return err + } + return nil +} + +func (p *DeleteUsersResponse) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return err + } + p.Ignored = make([]int64, 0, size) + for i := 0; i < size; i++ { + var _elem int64 + if v, err := iprot.ReadI64(ctx); err != nil { + return err + } else { + _elem = v + } + + p.Ignored = append(p.Ignored, _elem) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return err + } + return nil +} + +func (p *DeleteUsersResponse) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "DeleteUsersResponse"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField2(ctx, oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *DeleteUsersResponse) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "success", thrift.LIST, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(ctx, thrift.I64, len(p.Success)); err != nil { + return err + } + for _, v := range p.Success { + if err := oprot.WriteI64(ctx, v); err != nil { + return err + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *DeleteUsersResponse) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "ignored", thrift.LIST, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(ctx, thrift.I64, len(p.Ignored)); err != nil { + return err + } + for _, v := range p.Ignored { + if err := oprot.WriteI64(ctx, v); err != nil { + return err + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} + +func (p *DeleteUsersResponse) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("DeleteUsersResponse(%+v)", *p) +} + +type GetWajibPajakListRequest struct { + Pagination *Pagination `thrift:"pagination,1" frugal:"1,default,Pagination" db:"pagination" json:"pagination"` + Ownership WajibPajakOwnership `thrift:"ownership,2" frugal:"2,default,WajibPajakOwnership" db:"ownership" json:"ownership"` + SearchTerm string `thrift:"searchTerm,3" frugal:"3,default,string" db:"searchTerm" json:"searchTerm"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewGetWajibPajakListRequest, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0x18, 0x47, + 0x65, 0x74, 0x57, 0x61, 0x6a, 0x69, 0x62, 0x50, + 0x61, 0x6a, 0x61, 0x6b, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0xb, + 0x0, 0x2, 0x0, 0x0, 0x0, 0x6, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0xf, 0x0, 0x3, 0xc, + 0x0, 0x0, 0x0, 0x3, 0x6, 0x0, 0x1, 0x0, + 0x1, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0xa, + 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, + 0x0, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, + 0x0, 0x0, 0xc, 0x0, 0x0, 0x6, 0x0, 0x1, + 0x0, 0x2, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, + 0x9, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x68, + 0x69, 0x70, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, + 0x0, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, + 0x0, 0x0, 0x8, 0x0, 0x0, 0x6, 0x0, 0x1, + 0x0, 0x3, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, + 0xa, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, + 0x65, 0x72, 0x6d, 0x8, 0x0, 0x3, 0x0, 0x0, + 0x0, 0x0, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, + 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x0, + }) +} + +func NewGetWajibPajakListRequest() *GetWajibPajakListRequest { + return &GetWajibPajakListRequest{} +} + +func (p *GetWajibPajakListRequest) InitDefault() { + *p = GetWajibPajakListRequest{} +} + +var GetWajibPajakListRequest_Pagination_DEFAULT *Pagination + +func (p *GetWajibPajakListRequest) GetPagination() (v *Pagination) { + if !p.IsSetPagination() { + return GetWajibPajakListRequest_Pagination_DEFAULT + } + return p.Pagination +} + +func (p *GetWajibPajakListRequest) GetOwnership() (v WajibPajakOwnership) { + return p.Ownership +} + +func (p *GetWajibPajakListRequest) GetSearchTerm() (v string) { + return p.SearchTerm +} +func (p *GetWajibPajakListRequest) SetPagination(val *Pagination) { + p.Pagination = val +} +func (p *GetWajibPajakListRequest) SetOwnership(val WajibPajakOwnership) { + p.Ownership = val +} +func (p *GetWajibPajakListRequest) SetSearchTerm(val string) { + p.SearchTerm = val +} + +func (p *GetWajibPajakListRequest) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_GetWajibPajakListRequest = map[int16]string{ + 1: "pagination", + 2: "ownership", + 3: "searchTerm", +} + +func (p *GetWajibPajakListRequest) IsSetPagination() bool { + return p.Pagination != nil +} + +func (p *GetWajibPajakListRequest) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.I32 { + if err = p.ReadField2(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 3: + if fieldTypeId == thrift.STRING { + if err = p.ReadField3(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_GetWajibPajakListRequest[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *GetWajibPajakListRequest) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + p.Pagination = NewPagination() + if err := p.Pagination.Read(ctx, iprot); err != nil { + return err + } + return nil +} + +func (p *GetWajibPajakListRequest) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return err + } else { + p.Ownership = WajibPajakOwnership(v) + } + return nil +} + +func (p *GetWajibPajakListRequest) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return err + } else { + p.SearchTerm = v + } + return nil +} + +func (p *GetWajibPajakListRequest) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "GetWajibPajakListRequest"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField2(ctx, oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + if err = p.writeField3(ctx, oprot); err != nil { + fieldId = 3 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *GetWajibPajakListRequest) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "pagination", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.Pagination.Write(ctx, oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *GetWajibPajakListRequest) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "ownership", thrift.I32, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI32(ctx, int32(p.Ownership)); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} + +func (p *GetWajibPajakListRequest) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "searchTerm", thrift.STRING, 3); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(ctx, p.SearchTerm); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) +} + +func (p *GetWajibPajakListRequest) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("GetWajibPajakListRequest(%+v)", *p) +} + +type GetWajibPajakListResponse struct { + Pagination *Pagination `thrift:"pagination,1" frugal:"1,default,Pagination" db:"pagination" json:"pagination"` + TotalWajibPajak int64 `thrift:"totalWajibPajak,2" frugal:"2,default,i64" db:"totalWajibPajak" json:"totalWajibPajak"` + WajibPajakList []*WajibPajak `thrift:"wajibPajakList,3" frugal:"3,default,list" db:"wajibPajakList" json:"wajibPajakList"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewGetWajibPajakListResponse, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0x19, 0x47, + 0x65, 0x74, 0x57, 0x61, 0x6a, 0x69, 0x62, 0x50, + 0x61, 0x6a, 0x61, 0x6b, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0x6, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0xf, 0x0, 0x3, + 0xc, 0x0, 0x0, 0x0, 0x3, 0x6, 0x0, 0x1, + 0x0, 0x1, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, + 0xa, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x8, 0x0, 0x3, 0x0, 0x0, + 0x0, 0x0, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, + 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x6, 0x0, + 0x1, 0x0, 0x2, 0xb, 0x0, 0x2, 0x0, 0x0, + 0x0, 0xf, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x57, + 0x61, 0x6a, 0x69, 0x62, 0x50, 0x61, 0x6a, 0x61, + 0x6b, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, + 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, + 0x0, 0xa, 0x0, 0x0, 0x6, 0x0, 0x1, 0x0, + 0x3, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0xe, + 0x77, 0x61, 0x6a, 0x69, 0x62, 0x50, 0x61, 0x6a, + 0x61, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x8, 0x0, + 0x3, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0x4, + 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xf, 0xc, + 0x0, 0x3, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, + 0xc, 0x0, 0x0, 0x0, 0x0, + }) +} + +func NewGetWajibPajakListResponse() *GetWajibPajakListResponse { + return &GetWajibPajakListResponse{} +} + +func (p *GetWajibPajakListResponse) InitDefault() { + *p = GetWajibPajakListResponse{} +} + +var GetWajibPajakListResponse_Pagination_DEFAULT *Pagination + +func (p *GetWajibPajakListResponse) GetPagination() (v *Pagination) { + if !p.IsSetPagination() { + return GetWajibPajakListResponse_Pagination_DEFAULT + } + return p.Pagination +} + +func (p *GetWajibPajakListResponse) GetTotalWajibPajak() (v int64) { + return p.TotalWajibPajak +} + +func (p *GetWajibPajakListResponse) GetWajibPajakList() (v []*WajibPajak) { + return p.WajibPajakList +} +func (p *GetWajibPajakListResponse) SetPagination(val *Pagination) { + p.Pagination = val +} +func (p *GetWajibPajakListResponse) SetTotalWajibPajak(val int64) { + p.TotalWajibPajak = val +} +func (p *GetWajibPajakListResponse) SetWajibPajakList(val []*WajibPajak) { + p.WajibPajakList = val +} + +func (p *GetWajibPajakListResponse) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_GetWajibPajakListResponse = map[int16]string{ + 1: "pagination", + 2: "totalWajibPajak", + 3: "wajibPajakList", +} + +func (p *GetWajibPajakListResponse) IsSetPagination() bool { + return p.Pagination != nil +} + +func (p *GetWajibPajakListResponse) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.I64 { + if err = p.ReadField2(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 3: + if fieldTypeId == thrift.LIST { + if err = p.ReadField3(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_GetWajibPajakListResponse[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *GetWajibPajakListResponse) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + p.Pagination = NewPagination() + if err := p.Pagination.Read(ctx, iprot); err != nil { + return err + } + return nil +} + +func (p *GetWajibPajakListResponse) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI64(ctx); err != nil { + return err + } else { + p.TotalWajibPajak = v + } + return nil +} + +func (p *GetWajibPajakListResponse) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return err + } + p.WajibPajakList = make([]*WajibPajak, 0, size) + for i := 0; i < size; i++ { + _elem := NewWajibPajak() + if err := _elem.Read(ctx, iprot); err != nil { + return err + } + + p.WajibPajakList = append(p.WajibPajakList, _elem) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return err + } + return nil +} + +func (p *GetWajibPajakListResponse) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "GetWajibPajakListResponse"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField2(ctx, oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + if err = p.writeField3(ctx, oprot); err != nil { + fieldId = 3 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *GetWajibPajakListResponse) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "pagination", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.Pagination.Write(ctx, oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *GetWajibPajakListResponse) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "totalWajibPajak", thrift.I64, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(ctx, p.TotalWajibPajak); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} + +func (p *GetWajibPajakListResponse) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "wajibPajakList", thrift.LIST, 3); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.WajibPajakList)); err != nil { + return err + } + for _, v := range p.WajibPajakList { + if err := v.Write(ctx, oprot); err != nil { + return err + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) +} + +func (p *GetWajibPajakListResponse) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("GetWajibPajakListResponse(%+v)", *p) +} + +type CreateWajibPajakRequest struct { + WajibPajak *WajibPajak `thrift:"wajibPajak,1" frugal:"1,default,WajibPajak" core_v1_dto:"required"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewCreateWajibPajakRequest, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0x17, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x61, 0x6a, + 0x69, 0x62, 0x50, 0x61, 0x6a, 0x61, 0x6b, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0xb, 0x0, + 0x2, 0x0, 0x0, 0x0, 0x6, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0xf, 0x0, 0x3, 0xc, 0x0, + 0x0, 0x0, 0x1, 0x6, 0x0, 0x1, 0x0, 0x1, + 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, 0xa, 0x77, + 0x61, 0x6a, 0x69, 0x62, 0x50, 0x61, 0x6a, 0x61, + 0x6b, 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, + 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, + 0x0, 0xc, 0x0, 0x0, 0x0, + }) +} + +func NewCreateWajibPajakRequest() *CreateWajibPajakRequest { + return &CreateWajibPajakRequest{} +} + +func (p *CreateWajibPajakRequest) InitDefault() { + *p = CreateWajibPajakRequest{} +} + +var CreateWajibPajakRequest_WajibPajak_DEFAULT *WajibPajak + +func (p *CreateWajibPajakRequest) GetWajibPajak() (v *WajibPajak) { + if !p.IsSetWajibPajak() { + return CreateWajibPajakRequest_WajibPajak_DEFAULT + } + return p.WajibPajak +} +func (p *CreateWajibPajakRequest) SetWajibPajak(val *WajibPajak) { + p.WajibPajak = val +} + +func (p *CreateWajibPajakRequest) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_CreateWajibPajakRequest = map[int16]string{ + 1: "wajibPajak", +} + +func (p *CreateWajibPajakRequest) IsSetWajibPajak() bool { + return p.WajibPajak != nil +} + +func (p *CreateWajibPajakRequest) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_CreateWajibPajakRequest[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *CreateWajibPajakRequest) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + p.WajibPajak = NewWajibPajak() + if err := p.WajibPajak.Read(ctx, iprot); err != nil { + return err + } + return nil +} + +func (p *CreateWajibPajakRequest) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "CreateWajibPajakRequest"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *CreateWajibPajakRequest) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "wajibPajak", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.WajibPajak.Write(ctx, oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *CreateWajibPajakRequest) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("CreateWajibPajakRequest(%+v)", *p) +} + +type CreateWajibPajakResponse struct { + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewCreateWajibPajakResponse, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0x18, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x61, 0x6a, + 0x69, 0x62, 0x50, 0x61, 0x6a, 0x61, 0x6b, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0xb, + 0x0, 0x2, 0x0, 0x0, 0x0, 0x6, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0xf, 0x0, 0x3, 0xc, + 0x0, 0x0, 0x0, 0x0, 0x0, + }) +} + +func NewCreateWajibPajakResponse() *CreateWajibPajakResponse { + return &CreateWajibPajakResponse{} +} + +func (p *CreateWajibPajakResponse) InitDefault() { + *p = CreateWajibPajakResponse{} +} + +func (p *CreateWajibPajakResponse) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_CreateWajibPajakResponse = map[int16]string{} + +func (p *CreateWajibPajakResponse) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *CreateWajibPajakResponse) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteStructBegin(ctx, "CreateWajibPajakResponse"); err != nil { + goto WriteStructBeginError + } + if p != nil { + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *CreateWajibPajakResponse) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("CreateWajibPajakResponse(%+v)", *p) +} + +type DeleteWajibpajakListRequest struct { + WpIds []int64 `thrift:"wpIds,1" frugal:"1,default,list" db:"wpIds" json:"wpIds"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewDeleteWajibpajakListRequest, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1b, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x61, 0x6a, + 0x69, 0x62, 0x70, 0x61, 0x6a, 0x61, 0x6b, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0xb, 0x0, 0x2, 0x0, 0x0, 0x0, + 0x6, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0xf, + 0x0, 0x3, 0xc, 0x0, 0x0, 0x0, 0x1, 0x6, + 0x0, 0x1, 0x0, 0x1, 0xb, 0x0, 0x2, 0x0, + 0x0, 0x0, 0x5, 0x77, 0x70, 0x49, 0x64, 0x73, + 0x8, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0xc, + 0x0, 0x4, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, + 0xf, 0xc, 0x0, 0x3, 0x8, 0x0, 0x1, 0x0, + 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0x0, + }) +} + +func NewDeleteWajibpajakListRequest() *DeleteWajibpajakListRequest { + return &DeleteWajibpajakListRequest{} +} + +func (p *DeleteWajibpajakListRequest) InitDefault() { + *p = DeleteWajibpajakListRequest{} +} + +func (p *DeleteWajibpajakListRequest) GetWpIds() (v []int64) { + return p.WpIds +} +func (p *DeleteWajibpajakListRequest) SetWpIds(val []int64) { + p.WpIds = val +} + +func (p *DeleteWajibpajakListRequest) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_DeleteWajibpajakListRequest = map[int16]string{ + 1: "wpIds", +} + +func (p *DeleteWajibpajakListRequest) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_DeleteWajibpajakListRequest[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *DeleteWajibpajakListRequest) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return err + } + p.WpIds = make([]int64, 0, size) + for i := 0; i < size; i++ { + var _elem int64 + if v, err := iprot.ReadI64(ctx); err != nil { + return err + } else { + _elem = v + } + + p.WpIds = append(p.WpIds, _elem) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return err + } + return nil +} + +func (p *DeleteWajibpajakListRequest) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "DeleteWajibpajakListRequest"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *DeleteWajibpajakListRequest) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "wpIds", thrift.LIST, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(ctx, thrift.I64, len(p.WpIds)); err != nil { + return err + } + for _, v := range p.WpIds { + if err := oprot.WriteI64(ctx, v); err != nil { + return err + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *DeleteWajibpajakListRequest) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("DeleteWajibpajakListRequest(%+v)", *p) +} + +type DeleteWajibpajakListResponse struct { + Success []int64 `thrift:"success,1" frugal:"1,default,list" db:"success" json:"success"` + Ignored []int64 `thrift:"ignored,2" frugal:"2,default,list" db:"ignored" json:"ignored"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewDeleteWajibpajakListResponse, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1c, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x61, 0x6a, + 0x69, 0x62, 0x70, 0x61, 0x6a, 0x61, 0x6b, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0xb, 0x0, 0x2, 0x0, 0x0, + 0x0, 0x6, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0xf, 0x0, 0x3, 0xc, 0x0, 0x0, 0x0, 0x2, + 0x6, 0x0, 0x1, 0x0, 0x1, 0xb, 0x0, 0x2, + 0x0, 0x0, 0x0, 0x7, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x8, 0x0, 0x3, 0x0, 0x0, + 0x0, 0x0, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, + 0x0, 0x0, 0x0, 0xf, 0xc, 0x0, 0x3, 0x8, + 0x0, 0x1, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, + 0x0, 0x6, 0x0, 0x1, 0x0, 0x2, 0xb, 0x0, + 0x2, 0x0, 0x0, 0x0, 0x7, 0x69, 0x67, 0x6e, + 0x6f, 0x72, 0x65, 0x64, 0x8, 0x0, 0x3, 0x0, + 0x0, 0x0, 0x0, 0xc, 0x0, 0x4, 0x8, 0x0, + 0x1, 0x0, 0x0, 0x0, 0xf, 0xc, 0x0, 0x3, + 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0xa, 0x0, + 0x0, 0x0, 0x0, + }) +} + +func NewDeleteWajibpajakListResponse() *DeleteWajibpajakListResponse { + return &DeleteWajibpajakListResponse{} +} + +func (p *DeleteWajibpajakListResponse) InitDefault() { + *p = DeleteWajibpajakListResponse{} +} + +func (p *DeleteWajibpajakListResponse) GetSuccess() (v []int64) { + return p.Success +} + +func (p *DeleteWajibpajakListResponse) GetIgnored() (v []int64) { + return p.Ignored +} +func (p *DeleteWajibpajakListResponse) SetSuccess(val []int64) { + p.Success = val +} +func (p *DeleteWajibpajakListResponse) SetIgnored(val []int64) { + p.Ignored = val +} + +func (p *DeleteWajibpajakListResponse) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_DeleteWajibpajakListResponse = map[int16]string{ + 1: "success", + 2: "ignored", +} + +func (p *DeleteWajibpajakListResponse) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.LIST { + if err = p.ReadField2(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_DeleteWajibpajakListResponse[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *DeleteWajibpajakListResponse) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return err + } + p.Success = make([]int64, 0, size) + for i := 0; i < size; i++ { + var _elem int64 + if v, err := iprot.ReadI64(ctx); err != nil { + return err + } else { + _elem = v + } + + p.Success = append(p.Success, _elem) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return err + } + return nil +} + +func (p *DeleteWajibpajakListResponse) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin(ctx) + if err != nil { + return err + } + p.Ignored = make([]int64, 0, size) + for i := 0; i < size; i++ { + var _elem int64 + if v, err := iprot.ReadI64(ctx); err != nil { + return err + } else { + _elem = v + } + + p.Ignored = append(p.Ignored, _elem) + } + if err := iprot.ReadListEnd(ctx); err != nil { + return err + } + return nil +} + +func (p *DeleteWajibpajakListResponse) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "DeleteWajibpajakListResponse"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField2(ctx, oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *DeleteWajibpajakListResponse) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "success", thrift.LIST, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(ctx, thrift.I64, len(p.Success)); err != nil { + return err + } + for _, v := range p.Success { + if err := oprot.WriteI64(ctx, v); err != nil { + return err + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *DeleteWajibpajakListResponse) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "ignored", thrift.LIST, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(ctx, thrift.I64, len(p.Ignored)); err != nil { + return err + } + for _, v := range p.Ignored { + if err := oprot.WriteI64(ctx, v); err != nil { + return err + } + } + if err := oprot.WriteListEnd(ctx); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} + +func (p *DeleteWajibpajakListResponse) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("DeleteWajibpajakListResponse(%+v)", *p) +} diff --git a/pkg/gen/common/exceptionsc/exceptionsc.go b/pkg/gen/common/exceptionsc/exceptionsc.go new file mode 100644 index 0000000..3778181 --- /dev/null +++ b/pkg/gen/common/exceptionsc/exceptionsc.go @@ -0,0 +1,340 @@ +// Code generated by thriftgo (0.2.1). DO NOT EDIT. + +package exceptionsc + +import ( + "context" + "fmt" + "github.com/apache/thrift/lib/go/thrift" + "github.com/cloudwego/thriftgo/generator/golang/extension/meta" + "github.com/cloudwego/thriftgo/generator/golang/extension/unknown" +) + +type CommonException struct { + Code int32 `thrift:"code,1" frugal:"1,default,i32" db:"code" json:"code"` + Message string `thrift:"message,2" frugal:"2,default,string" db:"message" json:"message"` + Metadata map[string]string `thrift:"metadata,3,optional" frugal:"3,optional,map" db:"metadata" json:"metadata,omitempty"` + _unknownFields unknown.Fields +} + +func init() { + meta.RegisterStruct(NewCommonException, []byte{ + 0xb, 0x0, 0x1, 0x0, 0x0, 0x0, 0xf, 0x43, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x78, 0x63, + 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0xb, 0x0, + 0x2, 0x0, 0x0, 0x0, 0x9, 0x65, 0x78, 0x63, + 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0xf, 0x0, + 0x3, 0xc, 0x0, 0x0, 0x0, 0x3, 0x6, 0x0, + 0x1, 0x0, 0x1, 0xb, 0x0, 0x2, 0x0, 0x0, + 0x0, 0x4, 0x63, 0x6f, 0x64, 0x65, 0x8, 0x0, + 0x3, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0x4, + 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0x8, 0x0, + 0x0, 0x6, 0x0, 0x1, 0x0, 0x2, 0xb, 0x0, + 0x2, 0x0, 0x0, 0x0, 0x7, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x8, 0x0, 0x3, 0x0, + 0x0, 0x0, 0x0, 0xc, 0x0, 0x4, 0x8, 0x0, + 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x6, + 0x0, 0x1, 0x0, 0x3, 0xb, 0x0, 0x2, 0x0, + 0x0, 0x0, 0x8, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x8, 0x0, 0x3, 0x0, 0x0, + 0x0, 0x2, 0xc, 0x0, 0x4, 0x8, 0x0, 0x1, + 0x0, 0x0, 0x0, 0xd, 0xc, 0x0, 0x2, 0x8, + 0x0, 0x1, 0x0, 0x0, 0x0, 0xb, 0x0, 0xc, + 0x0, 0x3, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, + 0xb, 0x0, 0x0, 0x0, 0x0, + }) +} + +func NewCommonException() *CommonException { + return &CommonException{} +} + +func (p *CommonException) InitDefault() { + *p = CommonException{} +} + +func (p *CommonException) GetCode() (v int32) { + return p.Code +} + +func (p *CommonException) GetMessage() (v string) { + return p.Message +} + +var CommonException_Metadata_DEFAULT map[string]string + +func (p *CommonException) GetMetadata() (v map[string]string) { + if !p.IsSetMetadata() { + return CommonException_Metadata_DEFAULT + } + return p.Metadata +} +func (p *CommonException) SetCode(val int32) { + p.Code = val +} +func (p *CommonException) SetMessage(val string) { + p.Message = val +} +func (p *CommonException) SetMetadata(val map[string]string) { + p.Metadata = val +} + +func (p *CommonException) CarryingUnknownFields() bool { + return len(p._unknownFields) > 0 +} + +var fieldIDToName_CommonException = map[int16]string{ + 1: "code", + 2: "message", + 3: "metadata", +} + +func (p *CommonException) IsSetMetadata() bool { + return p.Metadata != nil +} + +func (p *CommonException) Read(ctx context.Context, iprot thrift.TProtocol) (err error) { + var name string + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(ctx); err != nil { + goto ReadStructBeginError + } + + for { + name, fieldTypeId, fieldId, err = iprot.ReadFieldBegin(ctx) + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err = p.ReadField1(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.STRING { + if err = p.ReadField2(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + case 3: + if fieldTypeId == thrift.MAP { + if err = p.ReadField3(ctx, iprot); err != nil { + goto ReadFieldError + } + } else { + if err = iprot.Skip(ctx, fieldTypeId); err != nil { + goto SkipFieldError + } + } + default: + if err = p._unknownFields.Append(ctx, iprot, name, fieldTypeId, fieldId); err != nil { + goto UnknownFieldsAppendError + } + } + + if err = iprot.ReadFieldEnd(ctx); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(ctx); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_CommonException[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +UnknownFieldsAppendError: + return thrift.PrependError(fmt.Sprintf("%T append unknown field(name:%s type:%d id:%d) error: ", p, name, fieldTypeId, fieldId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *CommonException) ReadField1(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadI32(ctx); err != nil { + return err + } else { + p.Code = v + } + return nil +} + +func (p *CommonException) ReadField2(ctx context.Context, iprot thrift.TProtocol) error { + if v, err := iprot.ReadString(ctx); err != nil { + return err + } else { + p.Message = v + } + return nil +} + +func (p *CommonException) ReadField3(ctx context.Context, iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin(ctx) + if err != nil { + return err + } + p.Metadata = make(map[string]string, size) + for i := 0; i < size; i++ { + var _key string + if v, err := iprot.ReadString(ctx); err != nil { + return err + } else { + _key = v + } + + var _val string + if v, err := iprot.ReadString(ctx); err != nil { + return err + } else { + _val = v + } + + p.Metadata[_key] = _val + } + if err := iprot.ReadMapEnd(ctx); err != nil { + return err + } + return nil +} + +func (p *CommonException) Write(ctx context.Context, oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin(ctx, "CommonException"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(ctx, oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField2(ctx, oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + if err = p.writeField3(ctx, oprot); err != nil { + fieldId = 3 + goto WriteFieldError + } + + if err = p._unknownFields.Write(ctx, oprot); err != nil { + goto UnknownFieldsWriteError + } + } + if err = oprot.WriteFieldStop(ctx); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(ctx); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +UnknownFieldsWriteError: + return thrift.PrependError(fmt.Sprintf("%T write unknown fields error: ", p), err) +} + +func (p *CommonException) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "code", thrift.I32, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI32(ctx, p.Code); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *CommonException) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin(ctx, "message", thrift.STRING, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(ctx, p.Message); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} + +func (p *CommonException) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) { + if p.IsSetMetadata() { + if err = oprot.WriteFieldBegin(ctx, "metadata", thrift.MAP, 3); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.STRING, len(p.Metadata)); err != nil { + return err + } + for k, v := range p.Metadata { + + if err := oprot.WriteString(ctx, k); err != nil { + return err + } + + if err := oprot.WriteString(ctx, v); err != nil { + return err + } + } + if err := oprot.WriteMapEnd(ctx); err != nil { + return err + } + if err = oprot.WriteFieldEnd(ctx); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) +} + +func (p *CommonException) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("CommonException(%+v)", *p) +} +func (p *CommonException) Error() string { + return p.String() +} diff --git a/pkg/gen/common/service.go b/pkg/gen/common/service.go new file mode 100644 index 0000000..fc38bd3 --- /dev/null +++ b/pkg/gen/common/service.go @@ -0,0 +1,5 @@ +// Code generated by thriftgo (0.2.1). DO NOT EDIT. + +package common + +import () diff --git a/pkg/gormlog/gormlog.go b/pkg/gormlog/gormlog.go new file mode 100644 index 0000000..a8497db --- /dev/null +++ b/pkg/gormlog/gormlog.go @@ -0,0 +1,90 @@ +package gormlog + +import ( + "context" + "errors" + "fmt" + "time" + + "go.uber.org/zap" + "gorm.io/gorm/logger" + "gorm.io/gorm/utils" +) + +type GormLog struct { + GormLogParams + sug *zap.SugaredLogger +} + +var _ logger.Interface = (*GormLog)(nil) + +type GormLogParams struct { + LogLevel logger.LogLevel + SlowThreshold time.Duration + IgnoreRecordNotFoundError bool + Logger *zap.Logger +} + +func New(params GormLogParams) *GormLog { + return &GormLog{ + GormLogParams: params, + sug: params.Logger.Sugar().Named("gormlog"), + } +} + +func (l *GormLog) LogMode(level logger.LogLevel) logger.Interface { + var params = l.GormLogParams + params.LogLevel = level + return New(params) +} + +func (l *GormLog) Info(ctx context.Context, msg string, data ...any) { + if l.LogLevel >= logger.Info { + l.sug.Info(append([]any{msg}, data...)...) + } +} + +func (l *GormLog) Warn(ctx context.Context, msg string, data ...any) { + if l.LogLevel >= logger.Warn { + l.sug.Warn(append([]any{msg}, data...)...) + } + +} + +func (l *GormLog) Error(ctx context.Context, msg string, data ...any) { + if l.LogLevel >= logger.Error { + l.sug.Error(append([]any{msg}, data...)...) + } +} + +func (l *GormLog) Trace(ctx context.Context, begin time.Time, fc func() (sql string, rowsAffected int64), err error) { + if l.LogLevel <= logger.Silent { + return + } + + elapsed := time.Since(begin) + switch { + case err != nil && l.LogLevel >= logger.Error && (!errors.Is(err, logger.ErrRecordNotFound) || !l.IgnoreRecordNotFoundError): + sql, rows := fc() + if rows != -1 { + l.sug.Errorf("trace %v %v %v %s %s", utils.FileWithLineNum(), err, elapsed.Milliseconds(), "-", sql) + } else { + l.sug.Errorf("trace %v %v %v %s %s", utils.FileWithLineNum(), err, elapsed.Milliseconds(), rows, sql) + } + case elapsed > l.SlowThreshold && l.SlowThreshold != 0 && l.LogLevel >= logger.Warn: + sql, rows := fc() + slowLog := fmt.Sprintf("SLOW SQL >= %v", l.SlowThreshold) + if rows == -1 { + l.sug.Warnf("trace %v %v %v %s %s", utils.FileWithLineNum(), slowLog, elapsed.Milliseconds(), "-", sql) + } else { + l.sug.Warnf("trace %v %v %v %s %s", utils.FileWithLineNum(), slowLog, elapsed.Milliseconds(), rows, sql) + } + case l.LogLevel == logger.Info: + sql, rows := fc() + if rows != -1 { + l.sug.Infof("trace %v %v %s %s", utils.FileWithLineNum(), elapsed.Milliseconds(), "-", sql) + } else { + l.sug.Infof("trace %v %v %s %s", utils.FileWithLineNum(), elapsed.Milliseconds(), rows, sql) + } + } +} diff --git a/public/assets/index.0c1f2447.js b/public/assets/index.0c1f2447.js new file mode 100644 index 0000000..d446c74 --- /dev/null +++ b/public/assets/index.0c1f2447.js @@ -0,0 +1,29266 @@ +var __defProp = Object.defineProperty; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __publicField = (obj, key, value) => { + __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + return value; +}; +function _mergeNamespaces(n, m) { + for (var i = 0; i < m.length; i++) { + const e = m[i]; + if (typeof e !== "string" && !Array.isArray(e)) { + for (const k in e) { + if (k !== "default" && !(k in n)) { + const d = Object.getOwnPropertyDescriptor(e, k); + if (d) { + Object.defineProperty(n, k, d.get ? d : { + enumerable: true, + get: () => e[k] + }); + } + } + } + } + } + return Object.freeze(Object.defineProperty(n, Symbol.toStringTag, { value: "Module" })); +} +(function polyfill() { + const relList = document.createElement("link").relList; + if (relList && relList.supports && relList.supports("modulepreload")) { + return; + } + for (const link of document.querySelectorAll('link[rel="modulepreload"]')) { + processPreload(link); + } + new MutationObserver((mutations) => { + for (const mutation of mutations) { + if (mutation.type !== "childList") { + continue; + } + for (const node of mutation.addedNodes) { + if (node.tagName === "LINK" && node.rel === "modulepreload") + processPreload(node); + } + } + }).observe(document, { childList: true, subtree: true }); + function getFetchOpts(script) { + const fetchOpts = {}; + if (script.integrity) + fetchOpts.integrity = script.integrity; + if (script.referrerpolicy) + fetchOpts.referrerPolicy = script.referrerpolicy; + if (script.crossorigin === "use-credentials") + fetchOpts.credentials = "include"; + else if (script.crossorigin === "anonymous") + fetchOpts.credentials = "omit"; + else + fetchOpts.credentials = "same-origin"; + return fetchOpts; + } + function processPreload(link) { + if (link.ep) + return; + link.ep = true; + const fetchOpts = getFetchOpts(link); + fetch(link.href, fetchOpts); + } +})(); +function makeMap(str, expectsLowerCase) { + const map2 = /* @__PURE__ */ Object.create(null); + const list = str.split(","); + for (let i = 0; i < list.length; i++) { + map2[list[i]] = true; + } + return expectsLowerCase ? (val) => !!map2[val.toLowerCase()] : (val) => !!map2[val]; +} +function normalizeStyle(value) { + if (isArray$3(value)) { + const res = {}; + for (let i = 0; i < value.length; i++) { + const item = value[i]; + const normalized = isString$2(item) ? parseStringStyle(item) : normalizeStyle(item); + if (normalized) { + for (const key in normalized) { + res[key] = normalized[key]; + } + } + } + return res; + } else if (isString$2(value)) { + return value; + } else if (isObject$1(value)) { + return value; + } +} +const listDelimiterRE = /;(?![^(]*\))/g; +const propertyDelimiterRE = /:([^]+)/; +const styleCommentRE = /\/\*.*?\*\//gs; +function parseStringStyle(cssText) { + const ret = {}; + cssText.replace(styleCommentRE, "").split(listDelimiterRE).forEach((item) => { + if (item) { + const tmp = item.split(propertyDelimiterRE); + tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim()); + } + }); + return ret; +} +function normalizeClass(value) { + let res = ""; + if (isString$2(value)) { + res = value; + } else if (isArray$3(value)) { + for (let i = 0; i < value.length; i++) { + const normalized = normalizeClass(value[i]); + if (normalized) { + res += normalized + " "; + } + } + } else if (isObject$1(value)) { + for (const name in value) { + if (value[name]) { + res += name + " "; + } + } + } + return res.trim(); +} +function normalizeProps(props) { + if (!props) + return null; + let { class: klass, style: style2 } = props; + if (klass && !isString$2(klass)) { + props.class = normalizeClass(klass); + } + if (style2) { + props.style = normalizeStyle(style2); + } + return props; +} +const HTML_TAGS = "html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot"; +const SVG_TAGS = "svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistanceLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view"; +const isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS); +const isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS); +const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`; +const isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs); +function includeBooleanAttr(value) { + return !!value || value === ""; +} +function looseCompareArrays(a, b) { + if (a.length !== b.length) + return false; + let equal = true; + for (let i = 0; equal && i < a.length; i++) { + equal = looseEqual(a[i], b[i]); + } + return equal; +} +function looseEqual(a, b) { + if (a === b) + return true; + let aValidType = isDate$1(a); + let bValidType = isDate$1(b); + if (aValidType || bValidType) { + return aValidType && bValidType ? a.getTime() === b.getTime() : false; + } + aValidType = isSymbol$1(a); + bValidType = isSymbol$1(b); + if (aValidType || bValidType) { + return a === b; + } + aValidType = isArray$3(a); + bValidType = isArray$3(b); + if (aValidType || bValidType) { + return aValidType && bValidType ? looseCompareArrays(a, b) : false; + } + aValidType = isObject$1(a); + bValidType = isObject$1(b); + if (aValidType || bValidType) { + if (!aValidType || !bValidType) { + return false; + } + const aKeysCount = Object.keys(a).length; + const bKeysCount = Object.keys(b).length; + if (aKeysCount !== bKeysCount) { + return false; + } + for (const key in a) { + const aHasKey = a.hasOwnProperty(key); + const bHasKey = b.hasOwnProperty(key); + if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) { + return false; + } + } + } + return String(a) === String(b); +} +function looseIndexOf(arr, val) { + return arr.findIndex((item) => looseEqual(item, val)); +} +const toDisplayString = (val) => { + return isString$2(val) ? val : val == null ? "" : isArray$3(val) || isObject$1(val) && (val.toString === objectToString$1 || !isFunction$2(val.toString)) ? JSON.stringify(val, replacer, 2) : String(val); +}; +const replacer = (_key, val) => { + if (val && val.__v_isRef) { + return replacer(_key, val.value); + } else if (isMap(val)) { + return { + [`Map(${val.size})`]: [...val.entries()].reduce((entries, [key, val2]) => { + entries[`${key} =>`] = val2; + return entries; + }, {}) + }; + } else if (isSet(val)) { + return { + [`Set(${val.size})`]: [...val.values()] + }; + } else if (isObject$1(val) && !isArray$3(val) && !isPlainObject$1(val)) { + return String(val); + } + return val; +}; +const EMPTY_OBJ = Object.freeze({}); +const EMPTY_ARR = Object.freeze([]); +const NOOP = () => { +}; +const NO = () => false; +const onRE = /^on[^a-z]/; +const isOn = (key) => onRE.test(key); +const isModelListener = (key) => key.startsWith("onUpdate:"); +const extend = Object.assign; +const remove$1 = (arr, el) => { + const i = arr.indexOf(el); + if (i > -1) { + arr.splice(i, 1); + } +}; +const hasOwnProperty$1 = Object.prototype.hasOwnProperty; +const hasOwn = (val, key) => hasOwnProperty$1.call(val, key); +const isArray$3 = Array.isArray; +const isMap = (val) => toTypeString(val) === "[object Map]"; +const isSet = (val) => toTypeString(val) === "[object Set]"; +const isDate$1 = (val) => toTypeString(val) === "[object Date]"; +const isFunction$2 = (val) => typeof val === "function"; +const isString$2 = (val) => typeof val === "string"; +const isSymbol$1 = (val) => typeof val === "symbol"; +const isObject$1 = (val) => val !== null && typeof val === "object"; +const isPromise = (val) => { + return isObject$1(val) && isFunction$2(val.then) && isFunction$2(val.catch); +}; +const objectToString$1 = Object.prototype.toString; +const toTypeString = (value) => objectToString$1.call(value); +const toRawType = (value) => { + return toTypeString(value).slice(8, -1); +}; +const isPlainObject$1 = (val) => toTypeString(val) === "[object Object]"; +const isIntegerKey = (key) => isString$2(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key; +const isReservedProp = /* @__PURE__ */ makeMap( + ",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted" +); +const isBuiltInDirective = /* @__PURE__ */ makeMap("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"); +const cacheStringFunction = (fn) => { + const cache = /* @__PURE__ */ Object.create(null); + return (str) => { + const hit = cache[str]; + return hit || (cache[str] = fn(str)); + }; +}; +const camelizeRE = /-(\w)/g; +const camelize = cacheStringFunction((str) => { + return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : ""); +}); +const hyphenateRE = /\B([A-Z])/g; +const hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, "-$1").toLowerCase()); +const capitalize = cacheStringFunction((str) => str.charAt(0).toUpperCase() + str.slice(1)); +const toHandlerKey = cacheStringFunction((str) => str ? `on${capitalize(str)}` : ``); +const hasChanged = (value, oldValue) => !Object.is(value, oldValue); +const invokeArrayFns = (fns, arg) => { + for (let i = 0; i < fns.length; i++) { + fns[i](arg); + } +}; +const def = (obj, key, value) => { + Object.defineProperty(obj, key, { + configurable: true, + enumerable: false, + value + }); +}; +const toNumber = (val) => { + const n = parseFloat(val); + return isNaN(n) ? val : n; +}; +let _globalThis; +const getGlobalThis = () => { + return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof globalThis !== "undefined" ? globalThis : {}); +}; +function warn$2(msg, ...args) { + console.warn(`[Vue warn] ${msg}`, ...args); +} +let activeEffectScope; +class EffectScope { + constructor(detached = false) { + this.detached = detached; + this.active = true; + this.effects = []; + this.cleanups = []; + this.parent = activeEffectScope; + if (!detached && activeEffectScope) { + this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1; + } + } + run(fn) { + if (this.active) { + const currentEffectScope = activeEffectScope; + try { + activeEffectScope = this; + return fn(); + } finally { + activeEffectScope = currentEffectScope; + } + } else { + warn$2(`cannot run an inactive effect scope.`); + } + } + on() { + activeEffectScope = this; + } + off() { + activeEffectScope = this.parent; + } + stop(fromParent) { + if (this.active) { + let i, l; + for (i = 0, l = this.effects.length; i < l; i++) { + this.effects[i].stop(); + } + for (i = 0, l = this.cleanups.length; i < l; i++) { + this.cleanups[i](); + } + if (this.scopes) { + for (i = 0, l = this.scopes.length; i < l; i++) { + this.scopes[i].stop(true); + } + } + if (!this.detached && this.parent && !fromParent) { + const last = this.parent.scopes.pop(); + if (last && last !== this) { + this.parent.scopes[this.index] = last; + last.index = this.index; + } + } + this.parent = void 0; + this.active = false; + } + } +} +function effectScope(detached) { + return new EffectScope(detached); +} +function recordEffectScope(effect, scope = activeEffectScope) { + if (scope && scope.active) { + scope.effects.push(effect); + } +} +function getCurrentScope() { + return activeEffectScope; +} +function onScopeDispose(fn) { + if (activeEffectScope) { + activeEffectScope.cleanups.push(fn); + } else { + warn$2(`onScopeDispose() is called when there is no active effect scope to be associated with.`); + } +} +const createDep = (effects) => { + const dep = new Set(effects); + dep.w = 0; + dep.n = 0; + return dep; +}; +const wasTracked = (dep) => (dep.w & trackOpBit) > 0; +const newTracked = (dep) => (dep.n & trackOpBit) > 0; +const initDepMarkers = ({ deps }) => { + if (deps.length) { + for (let i = 0; i < deps.length; i++) { + deps[i].w |= trackOpBit; + } + } +}; +const finalizeDepMarkers = (effect) => { + const { deps } = effect; + if (deps.length) { + let ptr = 0; + for (let i = 0; i < deps.length; i++) { + const dep = deps[i]; + if (wasTracked(dep) && !newTracked(dep)) { + dep.delete(effect); + } else { + deps[ptr++] = dep; + } + dep.w &= ~trackOpBit; + dep.n &= ~trackOpBit; + } + deps.length = ptr; + } +}; +const targetMap = /* @__PURE__ */ new WeakMap(); +let effectTrackDepth = 0; +let trackOpBit = 1; +const maxMarkerBits = 30; +let activeEffect; +const ITERATE_KEY = Symbol("iterate"); +const MAP_KEY_ITERATE_KEY = Symbol("Map key iterate"); +class ReactiveEffect { + constructor(fn, scheduler = null, scope) { + this.fn = fn; + this.scheduler = scheduler; + this.active = true; + this.deps = []; + this.parent = void 0; + recordEffectScope(this, scope); + } + run() { + if (!this.active) { + return this.fn(); + } + let parent = activeEffect; + let lastShouldTrack = shouldTrack; + while (parent) { + if (parent === this) { + return; + } + parent = parent.parent; + } + try { + this.parent = activeEffect; + activeEffect = this; + shouldTrack = true; + trackOpBit = 1 << ++effectTrackDepth; + if (effectTrackDepth <= maxMarkerBits) { + initDepMarkers(this); + } else { + cleanupEffect(this); + } + return this.fn(); + } finally { + if (effectTrackDepth <= maxMarkerBits) { + finalizeDepMarkers(this); + } + trackOpBit = 1 << --effectTrackDepth; + activeEffect = this.parent; + shouldTrack = lastShouldTrack; + this.parent = void 0; + if (this.deferStop) { + this.stop(); + } + } + } + stop() { + if (activeEffect === this) { + this.deferStop = true; + } else if (this.active) { + cleanupEffect(this); + if (this.onStop) { + this.onStop(); + } + this.active = false; + } + } +} +function cleanupEffect(effect) { + const { deps } = effect; + if (deps.length) { + for (let i = 0; i < deps.length; i++) { + deps[i].delete(effect); + } + deps.length = 0; + } +} +let shouldTrack = true; +const trackStack = []; +function pauseTracking() { + trackStack.push(shouldTrack); + shouldTrack = false; +} +function resetTracking() { + const last = trackStack.pop(); + shouldTrack = last === void 0 ? true : last; +} +function track(target, type, key) { + if (shouldTrack && activeEffect) { + let depsMap = targetMap.get(target); + if (!depsMap) { + targetMap.set(target, depsMap = /* @__PURE__ */ new Map()); + } + let dep = depsMap.get(key); + if (!dep) { + depsMap.set(key, dep = createDep()); + } + const eventInfo = { effect: activeEffect, target, type, key }; + trackEffects(dep, eventInfo); + } +} +function trackEffects(dep, debuggerEventExtraInfo) { + let shouldTrack2 = false; + if (effectTrackDepth <= maxMarkerBits) { + if (!newTracked(dep)) { + dep.n |= trackOpBit; + shouldTrack2 = !wasTracked(dep); + } + } else { + shouldTrack2 = !dep.has(activeEffect); + } + if (shouldTrack2) { + dep.add(activeEffect); + activeEffect.deps.push(dep); + if (activeEffect.onTrack) { + activeEffect.onTrack(Object.assign({ effect: activeEffect }, debuggerEventExtraInfo)); + } + } +} +function trigger(target, type, key, newValue, oldValue, oldTarget) { + const depsMap = targetMap.get(target); + if (!depsMap) { + return; + } + let deps = []; + if (type === "clear") { + deps = [...depsMap.values()]; + } else if (key === "length" && isArray$3(target)) { + const newLength = toNumber(newValue); + depsMap.forEach((dep, key2) => { + if (key2 === "length" || key2 >= newLength) { + deps.push(dep); + } + }); + } else { + if (key !== void 0) { + deps.push(depsMap.get(key)); + } + switch (type) { + case "add": + if (!isArray$3(target)) { + deps.push(depsMap.get(ITERATE_KEY)); + if (isMap(target)) { + deps.push(depsMap.get(MAP_KEY_ITERATE_KEY)); + } + } else if (isIntegerKey(key)) { + deps.push(depsMap.get("length")); + } + break; + case "delete": + if (!isArray$3(target)) { + deps.push(depsMap.get(ITERATE_KEY)); + if (isMap(target)) { + deps.push(depsMap.get(MAP_KEY_ITERATE_KEY)); + } + } + break; + case "set": + if (isMap(target)) { + deps.push(depsMap.get(ITERATE_KEY)); + } + break; + } + } + const eventInfo = { target, type, key, newValue, oldValue, oldTarget }; + if (deps.length === 1) { + if (deps[0]) { + { + triggerEffects(deps[0], eventInfo); + } + } + } else { + const effects = []; + for (const dep of deps) { + if (dep) { + effects.push(...dep); + } + } + { + triggerEffects(createDep(effects), eventInfo); + } + } +} +function triggerEffects(dep, debuggerEventExtraInfo) { + const effects = isArray$3(dep) ? dep : [...dep]; + for (const effect of effects) { + if (effect.computed) { + triggerEffect(effect, debuggerEventExtraInfo); + } + } + for (const effect of effects) { + if (!effect.computed) { + triggerEffect(effect, debuggerEventExtraInfo); + } + } +} +function triggerEffect(effect, debuggerEventExtraInfo) { + if (effect !== activeEffect || effect.allowRecurse) { + if (effect.onTrigger) { + effect.onTrigger(extend({ effect }, debuggerEventExtraInfo)); + } + if (effect.scheduler) { + effect.scheduler(); + } else { + effect.run(); + } + } +} +const isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`); +const builtInSymbols = new Set( + /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol$1) +); +const get$1 = /* @__PURE__ */ createGetter(); +const shallowGet = /* @__PURE__ */ createGetter(false, true); +const readonlyGet = /* @__PURE__ */ createGetter(true); +const shallowReadonlyGet = /* @__PURE__ */ createGetter(true, true); +const arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations(); +function createArrayInstrumentations() { + const instrumentations = {}; + ["includes", "indexOf", "lastIndexOf"].forEach((key) => { + instrumentations[key] = function(...args) { + const arr = toRaw(this); + for (let i = 0, l = this.length; i < l; i++) { + track(arr, "get", i + ""); + } + const res = arr[key](...args); + if (res === -1 || res === false) { + return arr[key](...args.map(toRaw)); + } else { + return res; + } + }; + }); + ["push", "pop", "shift", "unshift", "splice"].forEach((key) => { + instrumentations[key] = function(...args) { + pauseTracking(); + const res = toRaw(this)[key].apply(this, args); + resetTracking(); + return res; + }; + }); + return instrumentations; +} +function createGetter(isReadonly2 = false, shallow = false) { + return function get2(target, key, receiver) { + if (key === "__v_isReactive") { + return !isReadonly2; + } else if (key === "__v_isReadonly") { + return isReadonly2; + } else if (key === "__v_isShallow") { + return shallow; + } else if (key === "__v_raw" && receiver === (isReadonly2 ? shallow ? shallowReadonlyMap : readonlyMap : shallow ? shallowReactiveMap : reactiveMap).get(target)) { + return target; + } + const targetIsArray = isArray$3(target); + if (!isReadonly2 && targetIsArray && hasOwn(arrayInstrumentations, key)) { + return Reflect.get(arrayInstrumentations, key, receiver); + } + const res = Reflect.get(target, key, receiver); + if (isSymbol$1(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) { + return res; + } + if (!isReadonly2) { + track(target, "get", key); + } + if (shallow) { + return res; + } + if (isRef(res)) { + return targetIsArray && isIntegerKey(key) ? res : res.value; + } + if (isObject$1(res)) { + return isReadonly2 ? readonly(res) : reactive(res); + } + return res; + }; +} +const set$2 = /* @__PURE__ */ createSetter(); +const shallowSet = /* @__PURE__ */ createSetter(true); +function createSetter(shallow = false) { + return function set2(target, key, value, receiver) { + let oldValue = target[key]; + if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) { + return false; + } + if (!shallow) { + if (!isShallow$1(value) && !isReadonly(value)) { + oldValue = toRaw(oldValue); + value = toRaw(value); + } + if (!isArray$3(target) && isRef(oldValue) && !isRef(value)) { + oldValue.value = value; + return true; + } + } + const hadKey = isArray$3(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key); + const result = Reflect.set(target, key, value, receiver); + if (target === toRaw(receiver)) { + if (!hadKey) { + trigger(target, "add", key, value); + } else if (hasChanged(value, oldValue)) { + trigger(target, "set", key, value, oldValue); + } + } + return result; + }; +} +function deleteProperty(target, key) { + const hadKey = hasOwn(target, key); + const oldValue = target[key]; + const result = Reflect.deleteProperty(target, key); + if (result && hadKey) { + trigger(target, "delete", key, void 0, oldValue); + } + return result; +} +function has(target, key) { + const result = Reflect.has(target, key); + if (!isSymbol$1(key) || !builtInSymbols.has(key)) { + track(target, "has", key); + } + return result; +} +function ownKeys(target) { + track(target, "iterate", isArray$3(target) ? "length" : ITERATE_KEY); + return Reflect.ownKeys(target); +} +const mutableHandlers = { + get: get$1, + set: set$2, + deleteProperty, + has, + ownKeys +}; +const readonlyHandlers = { + get: readonlyGet, + set(target, key) { + { + warn$2(`Set operation on key "${String(key)}" failed: target is readonly.`, target); + } + return true; + }, + deleteProperty(target, key) { + { + warn$2(`Delete operation on key "${String(key)}" failed: target is readonly.`, target); + } + return true; + } +}; +const shallowReactiveHandlers = /* @__PURE__ */ extend({}, mutableHandlers, { + get: shallowGet, + set: shallowSet +}); +const shallowReadonlyHandlers = /* @__PURE__ */ extend({}, readonlyHandlers, { + get: shallowReadonlyGet +}); +const toShallow = (value) => value; +const getProto = (v) => Reflect.getPrototypeOf(v); +function get$1$1(target, key, isReadonly2 = false, isShallow2 = false) { + target = target["__v_raw"]; + const rawTarget = toRaw(target); + const rawKey = toRaw(key); + if (!isReadonly2) { + if (key !== rawKey) { + track(rawTarget, "get", key); + } + track(rawTarget, "get", rawKey); + } + const { has: has2 } = getProto(rawTarget); + const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive; + if (has2.call(rawTarget, key)) { + return wrap(target.get(key)); + } else if (has2.call(rawTarget, rawKey)) { + return wrap(target.get(rawKey)); + } else if (target !== rawTarget) { + target.get(key); + } +} +function has$1(key, isReadonly2 = false) { + const target = this["__v_raw"]; + const rawTarget = toRaw(target); + const rawKey = toRaw(key); + if (!isReadonly2) { + if (key !== rawKey) { + track(rawTarget, "has", key); + } + track(rawTarget, "has", rawKey); + } + return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey); +} +function size(target, isReadonly2 = false) { + target = target["__v_raw"]; + !isReadonly2 && track(toRaw(target), "iterate", ITERATE_KEY); + return Reflect.get(target, "size", target); +} +function add(value) { + value = toRaw(value); + const target = toRaw(this); + const proto = getProto(target); + const hadKey = proto.has.call(target, value); + if (!hadKey) { + target.add(value); + trigger(target, "add", value, value); + } + return this; +} +function set$1$1(key, value) { + value = toRaw(value); + const target = toRaw(this); + const { has: has2, get: get2 } = getProto(target); + let hadKey = has2.call(target, key); + if (!hadKey) { + key = toRaw(key); + hadKey = has2.call(target, key); + } else { + checkIdentityKeys(target, has2, key); + } + const oldValue = get2.call(target, key); + target.set(key, value); + if (!hadKey) { + trigger(target, "add", key, value); + } else if (hasChanged(value, oldValue)) { + trigger(target, "set", key, value, oldValue); + } + return this; +} +function deleteEntry(key) { + const target = toRaw(this); + const { has: has2, get: get2 } = getProto(target); + let hadKey = has2.call(target, key); + if (!hadKey) { + key = toRaw(key); + hadKey = has2.call(target, key); + } else { + checkIdentityKeys(target, has2, key); + } + const oldValue = get2 ? get2.call(target, key) : void 0; + const result = target.delete(key); + if (hadKey) { + trigger(target, "delete", key, void 0, oldValue); + } + return result; +} +function clear() { + const target = toRaw(this); + const hadItems = target.size !== 0; + const oldTarget = isMap(target) ? new Map(target) : new Set(target); + const result = target.clear(); + if (hadItems) { + trigger(target, "clear", void 0, void 0, oldTarget); + } + return result; +} +function createForEach(isReadonly2, isShallow2) { + return function forEach(callback, thisArg) { + const observed = this; + const target = observed["__v_raw"]; + const rawTarget = toRaw(target); + const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive; + !isReadonly2 && track(rawTarget, "iterate", ITERATE_KEY); + return target.forEach((value, key) => { + return callback.call(thisArg, wrap(value), wrap(key), observed); + }); + }; +} +function createIterableMethod(method, isReadonly2, isShallow2) { + return function(...args) { + const target = this["__v_raw"]; + const rawTarget = toRaw(target); + const targetIsMap = isMap(rawTarget); + const isPair = method === "entries" || method === Symbol.iterator && targetIsMap; + const isKeyOnly = method === "keys" && targetIsMap; + const innerIterator = target[method](...args); + const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive; + !isReadonly2 && track(rawTarget, "iterate", isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY); + return { + next() { + const { value, done } = innerIterator.next(); + return done ? { value, done } : { + value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value), + done + }; + }, + [Symbol.iterator]() { + return this; + } + }; + }; +} +function createReadonlyMethod(type) { + return function(...args) { + { + const key = args[0] ? `on key "${args[0]}" ` : ``; + console.warn(`${capitalize(type)} operation ${key}failed: target is readonly.`, toRaw(this)); + } + return type === "delete" ? false : this; + }; +} +function createInstrumentations() { + const mutableInstrumentations2 = { + get(key) { + return get$1$1(this, key); + }, + get size() { + return size(this); + }, + has: has$1, + add, + set: set$1$1, + delete: deleteEntry, + clear, + forEach: createForEach(false, false) + }; + const shallowInstrumentations2 = { + get(key) { + return get$1$1(this, key, false, true); + }, + get size() { + return size(this); + }, + has: has$1, + add, + set: set$1$1, + delete: deleteEntry, + clear, + forEach: createForEach(false, true) + }; + const readonlyInstrumentations2 = { + get(key) { + return get$1$1(this, key, true); + }, + get size() { + return size(this, true); + }, + has(key) { + return has$1.call(this, key, true); + }, + add: createReadonlyMethod("add"), + set: createReadonlyMethod("set"), + delete: createReadonlyMethod("delete"), + clear: createReadonlyMethod("clear"), + forEach: createForEach(true, false) + }; + const shallowReadonlyInstrumentations2 = { + get(key) { + return get$1$1(this, key, true, true); + }, + get size() { + return size(this, true); + }, + has(key) { + return has$1.call(this, key, true); + }, + add: createReadonlyMethod("add"), + set: createReadonlyMethod("set"), + delete: createReadonlyMethod("delete"), + clear: createReadonlyMethod("clear"), + forEach: createForEach(true, true) + }; + const iteratorMethods = ["keys", "values", "entries", Symbol.iterator]; + iteratorMethods.forEach((method) => { + mutableInstrumentations2[method] = createIterableMethod(method, false, false); + readonlyInstrumentations2[method] = createIterableMethod(method, true, false); + shallowInstrumentations2[method] = createIterableMethod(method, false, true); + shallowReadonlyInstrumentations2[method] = createIterableMethod(method, true, true); + }); + return [ + mutableInstrumentations2, + readonlyInstrumentations2, + shallowInstrumentations2, + shallowReadonlyInstrumentations2 + ]; +} +const [mutableInstrumentations, readonlyInstrumentations, shallowInstrumentations, shallowReadonlyInstrumentations] = /* @__PURE__ */ createInstrumentations(); +function createInstrumentationGetter(isReadonly2, shallow) { + const instrumentations = shallow ? isReadonly2 ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly2 ? readonlyInstrumentations : mutableInstrumentations; + return (target, key, receiver) => { + if (key === "__v_isReactive") { + return !isReadonly2; + } else if (key === "__v_isReadonly") { + return isReadonly2; + } else if (key === "__v_raw") { + return target; + } + return Reflect.get(hasOwn(instrumentations, key) && key in target ? instrumentations : target, key, receiver); + }; +} +const mutableCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(false, false) +}; +const shallowCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(false, true) +}; +const readonlyCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(true, false) +}; +const shallowReadonlyCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(true, true) +}; +function checkIdentityKeys(target, has2, key) { + const rawKey = toRaw(key); + if (rawKey !== key && has2.call(target, rawKey)) { + const type = toRawType(target); + console.warn(`Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`); + } +} +const reactiveMap = /* @__PURE__ */ new WeakMap(); +const shallowReactiveMap = /* @__PURE__ */ new WeakMap(); +const readonlyMap = /* @__PURE__ */ new WeakMap(); +const shallowReadonlyMap = /* @__PURE__ */ new WeakMap(); +function targetTypeMap(rawType) { + switch (rawType) { + case "Object": + case "Array": + return 1; + case "Map": + case "Set": + case "WeakMap": + case "WeakSet": + return 2; + default: + return 0; + } +} +function getTargetType(value) { + return value["__v_skip"] || !Object.isExtensible(value) ? 0 : targetTypeMap(toRawType(value)); +} +function reactive(target) { + if (isReadonly(target)) { + return target; + } + return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap); +} +function shallowReactive(target) { + return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap); +} +function readonly(target) { + return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap); +} +function shallowReadonly(target) { + return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap); +} +function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) { + if (!isObject$1(target)) { + { + console.warn(`value cannot be made reactive: ${String(target)}`); + } + return target; + } + if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) { + return target; + } + const existingProxy = proxyMap.get(target); + if (existingProxy) { + return existingProxy; + } + const targetType = getTargetType(target); + if (targetType === 0) { + return target; + } + const proxy = new Proxy(target, targetType === 2 ? collectionHandlers : baseHandlers); + proxyMap.set(target, proxy); + return proxy; +} +function isReactive(value) { + if (isReadonly(value)) { + return isReactive(value["__v_raw"]); + } + return !!(value && value["__v_isReactive"]); +} +function isReadonly(value) { + return !!(value && value["__v_isReadonly"]); +} +function isShallow$1(value) { + return !!(value && value["__v_isShallow"]); +} +function isProxy(value) { + return isReactive(value) || isReadonly(value); +} +function toRaw(observed) { + const raw = observed && observed["__v_raw"]; + return raw ? toRaw(raw) : observed; +} +function markRaw(value) { + def(value, "__v_skip", true); + return value; +} +const toReactive = (value) => isObject$1(value) ? reactive(value) : value; +const toReadonly = (value) => isObject$1(value) ? readonly(value) : value; +function trackRefValue(ref2) { + if (shouldTrack && activeEffect) { + ref2 = toRaw(ref2); + { + trackEffects(ref2.dep || (ref2.dep = createDep()), { + target: ref2, + type: "get", + key: "value" + }); + } + } +} +function triggerRefValue(ref2, newVal) { + ref2 = toRaw(ref2); + if (ref2.dep) { + { + triggerEffects(ref2.dep, { + target: ref2, + type: "set", + key: "value", + newValue: newVal + }); + } + } +} +function isRef(r) { + return !!(r && r.__v_isRef === true); +} +function ref(value) { + return createRef(value, false); +} +function shallowRef(value) { + return createRef(value, true); +} +function createRef(rawValue, shallow) { + if (isRef(rawValue)) { + return rawValue; + } + return new RefImpl(rawValue, shallow); +} +class RefImpl { + constructor(value, __v_isShallow) { + this.__v_isShallow = __v_isShallow; + this.dep = void 0; + this.__v_isRef = true; + this._rawValue = __v_isShallow ? value : toRaw(value); + this._value = __v_isShallow ? value : toReactive(value); + } + get value() { + trackRefValue(this); + return this._value; + } + set value(newVal) { + const useDirectValue = this.__v_isShallow || isShallow$1(newVal) || isReadonly(newVal); + newVal = useDirectValue ? newVal : toRaw(newVal); + if (hasChanged(newVal, this._rawValue)) { + this._rawValue = newVal; + this._value = useDirectValue ? newVal : toReactive(newVal); + triggerRefValue(this, newVal); + } + } +} +function unref(ref2) { + return isRef(ref2) ? ref2.value : ref2; +} +const shallowUnwrapHandlers = { + get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)), + set: (target, key, value, receiver) => { + const oldValue = target[key]; + if (isRef(oldValue) && !isRef(value)) { + oldValue.value = value; + return true; + } else { + return Reflect.set(target, key, value, receiver); + } + } +}; +function proxyRefs(objectWithRefs) { + return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers); +} +function toRefs(object) { + if (!isProxy(object)) { + console.warn(`toRefs() expects a reactive object but received a plain one.`); + } + const ret = isArray$3(object) ? new Array(object.length) : {}; + for (const key in object) { + ret[key] = toRef(object, key); + } + return ret; +} +class ObjectRefImpl { + constructor(_object, _key, _defaultValue) { + this._object = _object; + this._key = _key; + this._defaultValue = _defaultValue; + this.__v_isRef = true; + } + get value() { + const val = this._object[this._key]; + return val === void 0 ? this._defaultValue : val; + } + set value(newVal) { + this._object[this._key] = newVal; + } +} +function toRef(object, key, defaultValue) { + const val = object[key]; + return isRef(val) ? val : new ObjectRefImpl(object, key, defaultValue); +} +var _a$1; +class ComputedRefImpl { + constructor(getter, _setter, isReadonly2, isSSR) { + this._setter = _setter; + this.dep = void 0; + this.__v_isRef = true; + this[_a$1] = false; + this._dirty = true; + this.effect = new ReactiveEffect(getter, () => { + if (!this._dirty) { + this._dirty = true; + triggerRefValue(this); + } + }); + this.effect.computed = this; + this.effect.active = this._cacheable = !isSSR; + this["__v_isReadonly"] = isReadonly2; + } + get value() { + const self2 = toRaw(this); + trackRefValue(self2); + if (self2._dirty || !self2._cacheable) { + self2._dirty = false; + self2._value = self2.effect.run(); + } + return self2._value; + } + set value(newValue) { + this._setter(newValue); + } +} +_a$1 = "__v_isReadonly"; +function computed$1(getterOrOptions, debugOptions, isSSR = false) { + let getter; + let setter; + const onlyGetter = isFunction$2(getterOrOptions); + if (onlyGetter) { + getter = getterOrOptions; + setter = () => { + console.warn("Write operation failed: computed value is readonly"); + }; + } else { + getter = getterOrOptions.get; + setter = getterOrOptions.set; + } + const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR); + if (debugOptions && !isSSR) { + cRef.effect.onTrack = debugOptions.onTrack; + cRef.effect.onTrigger = debugOptions.onTrigger; + } + return cRef; +} +const stack = []; +function pushWarningContext(vnode) { + stack.push(vnode); +} +function popWarningContext() { + stack.pop(); +} +function warn$1(msg, ...args) { + pauseTracking(); + const instance = stack.length ? stack[stack.length - 1].component : null; + const appWarnHandler = instance && instance.appContext.config.warnHandler; + const trace2 = getComponentTrace(); + if (appWarnHandler) { + callWithErrorHandling(appWarnHandler, instance, 11, [ + msg + args.join(""), + instance && instance.proxy, + trace2.map(({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`).join("\n"), + trace2 + ]); + } else { + const warnArgs = [`[Vue warn]: ${msg}`, ...args]; + if (trace2.length && true) { + warnArgs.push(` +`, ...formatTrace(trace2)); + } + console.warn(...warnArgs); + } + resetTracking(); +} +function getComponentTrace() { + let currentVNode = stack[stack.length - 1]; + if (!currentVNode) { + return []; + } + const normalizedStack = []; + while (currentVNode) { + const last = normalizedStack[0]; + if (last && last.vnode === currentVNode) { + last.recurseCount++; + } else { + normalizedStack.push({ + vnode: currentVNode, + recurseCount: 0 + }); + } + const parentInstance = currentVNode.component && currentVNode.component.parent; + currentVNode = parentInstance && parentInstance.vnode; + } + return normalizedStack; +} +function formatTrace(trace2) { + const logs = []; + trace2.forEach((entry, i) => { + logs.push(...i === 0 ? [] : [` +`], ...formatTraceEntry(entry)); + }); + return logs; +} +function formatTraceEntry({ vnode, recurseCount }) { + const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``; + const isRoot = vnode.component ? vnode.component.parent == null : false; + const open2 = ` at <${formatComponentName(vnode.component, vnode.type, isRoot)}`; + const close = `>` + postfix; + return vnode.props ? [open2, ...formatProps(vnode.props), close] : [open2 + close]; +} +function formatProps(props) { + const res = []; + const keys = Object.keys(props); + keys.slice(0, 3).forEach((key) => { + res.push(...formatProp(key, props[key])); + }); + if (keys.length > 3) { + res.push(` ...`); + } + return res; +} +function formatProp(key, value, raw) { + if (isString$2(value)) { + value = JSON.stringify(value); + return raw ? value : [`${key}=${value}`]; + } else if (typeof value === "number" || typeof value === "boolean" || value == null) { + return raw ? value : [`${key}=${value}`]; + } else if (isRef(value)) { + value = formatProp(key, toRaw(value.value), true); + return raw ? value : [`${key}=Ref<`, value, `>`]; + } else if (isFunction$2(value)) { + return [`${key}=fn${value.name ? `<${value.name}>` : ``}`]; + } else { + value = toRaw(value); + return raw ? value : [`${key}=`, value]; + } +} +const ErrorTypeStrings = { + ["sp"]: "serverPrefetch hook", + ["bc"]: "beforeCreate hook", + ["c"]: "created hook", + ["bm"]: "beforeMount hook", + ["m"]: "mounted hook", + ["bu"]: "beforeUpdate hook", + ["u"]: "updated", + ["bum"]: "beforeUnmount hook", + ["um"]: "unmounted hook", + ["a"]: "activated hook", + ["da"]: "deactivated hook", + ["ec"]: "errorCaptured hook", + ["rtc"]: "renderTracked hook", + ["rtg"]: "renderTriggered hook", + [0]: "setup function", + [1]: "render function", + [2]: "watcher getter", + [3]: "watcher callback", + [4]: "watcher cleanup function", + [5]: "native event handler", + [6]: "component event handler", + [7]: "vnode hook", + [8]: "directive hook", + [9]: "transition hook", + [10]: "app errorHandler", + [11]: "app warnHandler", + [12]: "ref function", + [13]: "async component loader", + [14]: "scheduler flush. This is likely a Vue internals bug. Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core" +}; +function callWithErrorHandling(fn, instance, type, args) { + let res; + try { + res = args ? fn(...args) : fn(); + } catch (err) { + handleError(err, instance, type); + } + return res; +} +function callWithAsyncErrorHandling(fn, instance, type, args) { + if (isFunction$2(fn)) { + const res = callWithErrorHandling(fn, instance, type, args); + if (res && isPromise(res)) { + res.catch((err) => { + handleError(err, instance, type); + }); + } + return res; + } + const values = []; + for (let i = 0; i < fn.length; i++) { + values.push(callWithAsyncErrorHandling(fn[i], instance, type, args)); + } + return values; +} +function handleError(err, instance, type, throwInDev = true) { + const contextVNode = instance ? instance.vnode : null; + if (instance) { + let cur = instance.parent; + const exposedInstance = instance.proxy; + const errorInfo = ErrorTypeStrings[type]; + while (cur) { + const errorCapturedHooks = cur.ec; + if (errorCapturedHooks) { + for (let i = 0; i < errorCapturedHooks.length; i++) { + if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) { + return; + } + } + } + cur = cur.parent; + } + const appErrorHandler = instance.appContext.config.errorHandler; + if (appErrorHandler) { + callWithErrorHandling(appErrorHandler, null, 10, [err, exposedInstance, errorInfo]); + return; + } + } + logError(err, type, contextVNode, throwInDev); +} +function logError(err, type, contextVNode, throwInDev = true) { + { + const info2 = ErrorTypeStrings[type]; + if (contextVNode) { + pushWarningContext(contextVNode); + } + warn$1(`Unhandled error${info2 ? ` during execution of ${info2}` : ``}`); + if (contextVNode) { + popWarningContext(); + } + if (throwInDev) { + throw err; + } else { + console.error(err); + } + } +} +let isFlushing = false; +let isFlushPending = false; +const queue$1 = []; +let flushIndex = 0; +const pendingPostFlushCbs = []; +let activePostFlushCbs = null; +let postFlushIndex = 0; +const resolvedPromise = /* @__PURE__ */ Promise.resolve(); +let currentFlushPromise = null; +const RECURSION_LIMIT = 100; +function nextTick$1(fn) { + const p2 = currentFlushPromise || resolvedPromise; + return fn ? p2.then(this ? fn.bind(this) : fn) : p2; +} +function findInsertionIndex(id) { + let start = flushIndex + 1; + let end = queue$1.length; + while (start < end) { + const middle = start + end >>> 1; + const middleJobId = getId(queue$1[middle]); + middleJobId < id ? start = middle + 1 : end = middle; + } + return start; +} +function queueJob(job) { + if (!queue$1.length || !queue$1.includes(job, isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex)) { + if (job.id == null) { + queue$1.push(job); + } else { + queue$1.splice(findInsertionIndex(job.id), 0, job); + } + queueFlush(); + } +} +function queueFlush() { + if (!isFlushing && !isFlushPending) { + isFlushPending = true; + currentFlushPromise = resolvedPromise.then(flushJobs); + } +} +function invalidateJob(job) { + const i = queue$1.indexOf(job); + if (i > flushIndex) { + queue$1.splice(i, 1); + } +} +function queuePostFlushCb(cb) { + if (!isArray$3(cb)) { + if (!activePostFlushCbs || !activePostFlushCbs.includes(cb, cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex)) { + pendingPostFlushCbs.push(cb); + } + } else { + pendingPostFlushCbs.push(...cb); + } + queueFlush(); +} +function flushPreFlushCbs(seen, i = isFlushing ? flushIndex + 1 : 0) { + { + seen = seen || /* @__PURE__ */ new Map(); + } + for (; i < queue$1.length; i++) { + const cb = queue$1[i]; + if (cb && cb.pre) { + if (checkRecursiveUpdates(seen, cb)) { + continue; + } + queue$1.splice(i, 1); + i--; + cb(); + } + } +} +function flushPostFlushCbs(seen) { + if (pendingPostFlushCbs.length) { + const deduped = [...new Set(pendingPostFlushCbs)]; + pendingPostFlushCbs.length = 0; + if (activePostFlushCbs) { + activePostFlushCbs.push(...deduped); + return; + } + activePostFlushCbs = deduped; + { + seen = seen || /* @__PURE__ */ new Map(); + } + activePostFlushCbs.sort((a, b) => getId(a) - getId(b)); + for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) { + if (checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) { + continue; + } + activePostFlushCbs[postFlushIndex](); + } + activePostFlushCbs = null; + postFlushIndex = 0; + } +} +const getId = (job) => job.id == null ? Infinity : job.id; +const comparator = (a, b) => { + const diff = getId(a) - getId(b); + if (diff === 0) { + if (a.pre && !b.pre) + return -1; + if (b.pre && !a.pre) + return 1; + } + return diff; +}; +function flushJobs(seen) { + isFlushPending = false; + isFlushing = true; + { + seen = seen || /* @__PURE__ */ new Map(); + } + queue$1.sort(comparator); + const check = (job) => checkRecursiveUpdates(seen, job); + try { + for (flushIndex = 0; flushIndex < queue$1.length; flushIndex++) { + const job = queue$1[flushIndex]; + if (job && job.active !== false) { + if (check(job)) { + continue; + } + callWithErrorHandling(job, null, 14); + } + } + } finally { + flushIndex = 0; + queue$1.length = 0; + flushPostFlushCbs(seen); + isFlushing = false; + currentFlushPromise = null; + if (queue$1.length || pendingPostFlushCbs.length) { + flushJobs(seen); + } + } +} +function checkRecursiveUpdates(seen, fn) { + if (!seen.has(fn)) { + seen.set(fn, 1); + } else { + const count = seen.get(fn); + if (count > RECURSION_LIMIT) { + const instance = fn.ownerInstance; + const componentName = instance && getComponentName(instance.type); + warn$1(`Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`); + return true; + } else { + seen.set(fn, count + 1); + } + } +} +let isHmrUpdating = false; +const hmrDirtyComponents = /* @__PURE__ */ new Set(); +{ + getGlobalThis().__VUE_HMR_RUNTIME__ = { + createRecord: tryWrap(createRecord), + rerender: tryWrap(rerender), + reload: tryWrap(reload) + }; +} +const map = /* @__PURE__ */ new Map(); +function registerHMR(instance) { + const id = instance.type.__hmrId; + let record = map.get(id); + if (!record) { + createRecord(id, instance.type); + record = map.get(id); + } + record.instances.add(instance); +} +function unregisterHMR(instance) { + map.get(instance.type.__hmrId).instances.delete(instance); +} +function createRecord(id, initialDef) { + if (map.has(id)) { + return false; + } + map.set(id, { + initialDef: normalizeClassComponent(initialDef), + instances: /* @__PURE__ */ new Set() + }); + return true; +} +function normalizeClassComponent(component) { + return isClassComponent(component) ? component.__vccOpts : component; +} +function rerender(id, newRender) { + const record = map.get(id); + if (!record) { + return; + } + record.initialDef.render = newRender; + [...record.instances].forEach((instance) => { + if (newRender) { + instance.render = newRender; + normalizeClassComponent(instance.type).render = newRender; + } + instance.renderCache = []; + isHmrUpdating = true; + instance.update(); + isHmrUpdating = false; + }); +} +function reload(id, newComp) { + const record = map.get(id); + if (!record) + return; + newComp = normalizeClassComponent(newComp); + updateComponentDef(record.initialDef, newComp); + const instances = [...record.instances]; + for (const instance of instances) { + const oldComp = normalizeClassComponent(instance.type); + if (!hmrDirtyComponents.has(oldComp)) { + if (oldComp !== record.initialDef) { + updateComponentDef(oldComp, newComp); + } + hmrDirtyComponents.add(oldComp); + } + instance.appContext.optionsCache.delete(instance.type); + if (instance.ceReload) { + hmrDirtyComponents.add(oldComp); + instance.ceReload(newComp.styles); + hmrDirtyComponents.delete(oldComp); + } else if (instance.parent) { + queueJob(instance.parent.update); + } else if (instance.appContext.reload) { + instance.appContext.reload(); + } else if (typeof window !== "undefined") { + window.location.reload(); + } else { + console.warn("[HMR] Root or manually mounted instance modified. Full reload required."); + } + } + queuePostFlushCb(() => { + for (const instance of instances) { + hmrDirtyComponents.delete(normalizeClassComponent(instance.type)); + } + }); +} +function updateComponentDef(oldComp, newComp) { + extend(oldComp, newComp); + for (const key in oldComp) { + if (key !== "__file" && !(key in newComp)) { + delete oldComp[key]; + } + } +} +function tryWrap(fn) { + return (id, arg) => { + try { + return fn(id, arg); + } catch (e) { + console.error(e); + console.warn(`[HMR] Something went wrong during Vue component hot-reload. Full reload required.`); + } + }; +} +let devtools; +let buffer = []; +let devtoolsNotInstalled = false; +function emit$1(event, ...args) { + if (devtools) { + devtools.emit(event, ...args); + } else if (!devtoolsNotInstalled) { + buffer.push({ event, args }); + } +} +function setDevtoolsHook(hook, target) { + var _a2, _b; + devtools = hook; + if (devtools) { + devtools.enabled = true; + buffer.forEach(({ event, args }) => devtools.emit(event, ...args)); + buffer = []; + } else if (typeof window !== "undefined" && window.HTMLElement && !((_b = (_a2 = window.navigator) === null || _a2 === void 0 ? void 0 : _a2.userAgent) === null || _b === void 0 ? void 0 : _b.includes("jsdom"))) { + const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []; + replay.push((newHook) => { + setDevtoolsHook(newHook, target); + }); + setTimeout(() => { + if (!devtools) { + target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null; + devtoolsNotInstalled = true; + buffer = []; + } + }, 3e3); + } else { + devtoolsNotInstalled = true; + buffer = []; + } +} +function devtoolsInitApp(app2, version2) { + emit$1("app:init", app2, version2, { + Fragment, + Text, + Comment, + Static + }); +} +function devtoolsUnmountApp(app2) { + emit$1("app:unmount", app2); +} +const devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook("component:added"); +const devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook("component:updated"); +const _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook("component:removed"); +const devtoolsComponentRemoved = (component) => { + if (devtools && typeof devtools.cleanupBuffer === "function" && !devtools.cleanupBuffer(component)) { + _devtoolsComponentRemoved(component); + } +}; +function createDevtoolsComponentHook(hook) { + return (component) => { + emit$1(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : void 0, component); + }; +} +const devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook("perf:start"); +const devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook("perf:end"); +function createDevtoolsPerformanceHook(hook) { + return (component, type, time) => { + emit$1(hook, component.appContext.app, component.uid, component, type, time); + }; +} +function devtoolsComponentEmit(component, event, params) { + emit$1("component:emit", component.appContext.app, component, event, params); +} +function emit$1$1(instance, event, ...rawArgs) { + if (instance.isUnmounted) + return; + const props = instance.vnode.props || EMPTY_OBJ; + { + const { emitsOptions, propsOptions: [propsOptions] } = instance; + if (emitsOptions) { + if (!(event in emitsOptions) && true) { + if (!propsOptions || !(toHandlerKey(event) in propsOptions)) { + warn$1(`Component emitted event "${event}" but it is neither declared in the emits option nor as an "${toHandlerKey(event)}" prop.`); + } + } else { + const validator = emitsOptions[event]; + if (isFunction$2(validator)) { + const isValid = validator(...rawArgs); + if (!isValid) { + warn$1(`Invalid event arguments: event validation failed for event "${event}".`); + } + } + } + } + } + let args = rawArgs; + const isModelListener2 = event.startsWith("update:"); + const modelArg = isModelListener2 && event.slice(7); + if (modelArg && modelArg in props) { + const modifiersKey = `${modelArg === "modelValue" ? "model" : modelArg}Modifiers`; + const { number, trim } = props[modifiersKey] || EMPTY_OBJ; + if (trim) { + args = rawArgs.map((a) => isString$2(a) ? a.trim() : a); + } + if (number) { + args = rawArgs.map(toNumber); + } + } + { + devtoolsComponentEmit(instance, event, args); + } + { + const lowerCaseEvent = event.toLowerCase(); + if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) { + warn$1(`Event "${lowerCaseEvent}" is emitted in component ${formatComponentName(instance, instance.type)} but the handler is registered for "${event}". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use "${hyphenate(event)}" instead of "${event}".`); + } + } + let handlerName; + let handler = props[handlerName = toHandlerKey(event)] || props[handlerName = toHandlerKey(camelize(event))]; + if (!handler && isModelListener2) { + handler = props[handlerName = toHandlerKey(hyphenate(event))]; + } + if (handler) { + callWithAsyncErrorHandling(handler, instance, 6, args); + } + const onceHandler = props[handlerName + `Once`]; + if (onceHandler) { + if (!instance.emitted) { + instance.emitted = {}; + } else if (instance.emitted[handlerName]) { + return; + } + instance.emitted[handlerName] = true; + callWithAsyncErrorHandling(onceHandler, instance, 6, args); + } +} +function normalizeEmitsOptions(comp, appContext, asMixin = false) { + const cache = appContext.emitsCache; + const cached = cache.get(comp); + if (cached !== void 0) { + return cached; + } + const raw = comp.emits; + let normalized = {}; + let hasExtends = false; + if (!isFunction$2(comp)) { + const extendEmits = (raw2) => { + const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true); + if (normalizedFromExtend) { + hasExtends = true; + extend(normalized, normalizedFromExtend); + } + }; + if (!asMixin && appContext.mixins.length) { + appContext.mixins.forEach(extendEmits); + } + if (comp.extends) { + extendEmits(comp.extends); + } + if (comp.mixins) { + comp.mixins.forEach(extendEmits); + } + } + if (!raw && !hasExtends) { + if (isObject$1(comp)) { + cache.set(comp, null); + } + return null; + } + if (isArray$3(raw)) { + raw.forEach((key) => normalized[key] = null); + } else { + extend(normalized, raw); + } + if (isObject$1(comp)) { + cache.set(comp, normalized); + } + return normalized; +} +function isEmitListener(options, key) { + if (!options || !isOn(key)) { + return false; + } + key = key.slice(2).replace(/Once$/, ""); + return hasOwn(options, key[0].toLowerCase() + key.slice(1)) || hasOwn(options, hyphenate(key)) || hasOwn(options, key); +} +let currentRenderingInstance = null; +let currentScopeId = null; +function setCurrentRenderingInstance(instance) { + const prev = currentRenderingInstance; + currentRenderingInstance = instance; + currentScopeId = instance && instance.type.__scopeId || null; + return prev; +} +function pushScopeId(id) { + currentScopeId = id; +} +function popScopeId() { + currentScopeId = null; +} +function withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) { + if (!ctx) + return fn; + if (fn._n) { + return fn; + } + const renderFnWithContext = (...args) => { + if (renderFnWithContext._d) { + setBlockTracking(-1); + } + const prevInstance = setCurrentRenderingInstance(ctx); + let res; + try { + res = fn(...args); + } finally { + setCurrentRenderingInstance(prevInstance); + if (renderFnWithContext._d) { + setBlockTracking(1); + } + } + { + devtoolsComponentUpdated(ctx); + } + return res; + }; + renderFnWithContext._n = true; + renderFnWithContext._c = true; + renderFnWithContext._d = true; + return renderFnWithContext; +} +let accessedAttrs = false; +function markAttrsAccessed() { + accessedAttrs = true; +} +function renderComponentRoot(instance) { + const { type: Component, vnode, proxy, withProxy, props, propsOptions: [propsOptions], slots, attrs, emit: emit3, render: render2, renderCache, data, setupState, ctx, inheritAttrs } = instance; + let result; + let fallthroughAttrs; + const prev = setCurrentRenderingInstance(instance); + { + accessedAttrs = false; + } + try { + if (vnode.shapeFlag & 4) { + const proxyToUse = withProxy || proxy; + result = normalizeVNode(render2.call(proxyToUse, proxyToUse, renderCache, props, setupState, data, ctx)); + fallthroughAttrs = attrs; + } else { + const render3 = Component; + if (attrs === props) { + markAttrsAccessed(); + } + result = normalizeVNode(render3.length > 1 ? render3(props, true ? { + get attrs() { + markAttrsAccessed(); + return attrs; + }, + slots, + emit: emit3 + } : { attrs, slots, emit: emit3 }) : render3(props, null)); + fallthroughAttrs = Component.props ? attrs : getFunctionalFallthrough(attrs); + } + } catch (err) { + blockStack.length = 0; + handleError(err, instance, 1); + result = createVNode(Comment); + } + let root = result; + let setRoot = void 0; + if (result.patchFlag > 0 && result.patchFlag & 2048) { + [root, setRoot] = getChildRoot(result); + } + if (fallthroughAttrs && inheritAttrs !== false) { + const keys = Object.keys(fallthroughAttrs); + const { shapeFlag } = root; + if (keys.length) { + if (shapeFlag & (1 | 6)) { + if (propsOptions && keys.some(isModelListener)) { + fallthroughAttrs = filterModelListeners(fallthroughAttrs, propsOptions); + } + root = cloneVNode(root, fallthroughAttrs); + } else if (!accessedAttrs && root.type !== Comment) { + const allAttrs = Object.keys(attrs); + const eventAttrs = []; + const extraAttrs = []; + for (let i = 0, l = allAttrs.length; i < l; i++) { + const key = allAttrs[i]; + if (isOn(key)) { + if (!isModelListener(key)) { + eventAttrs.push(key[2].toLowerCase() + key.slice(3)); + } + } else { + extraAttrs.push(key); + } + } + if (extraAttrs.length) { + warn$1(`Extraneous non-props attributes (${extraAttrs.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.`); + } + if (eventAttrs.length) { + warn$1(`Extraneous non-emits event listeners (${eventAttrs.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. If the listener is intended to be a component custom event listener only, declare it using the "emits" option.`); + } + } + } + } + if (vnode.dirs) { + if (!isElementRoot(root)) { + warn$1(`Runtime directive used on component with non-element root node. The directives will not function as intended.`); + } + root = cloneVNode(root); + root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs; + } + if (vnode.transition) { + if (!isElementRoot(root)) { + warn$1(`Component inside renders non-element root node that cannot be animated.`); + } + root.transition = vnode.transition; + } + if (setRoot) { + setRoot(root); + } else { + result = root; + } + setCurrentRenderingInstance(prev); + return result; +} +const getChildRoot = (vnode) => { + const rawChildren = vnode.children; + const dynamicChildren = vnode.dynamicChildren; + const childRoot = filterSingleRoot(rawChildren); + if (!childRoot) { + return [vnode, void 0]; + } + const index2 = rawChildren.indexOf(childRoot); + const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1; + const setRoot = (updatedRoot) => { + rawChildren[index2] = updatedRoot; + if (dynamicChildren) { + if (dynamicIndex > -1) { + dynamicChildren[dynamicIndex] = updatedRoot; + } else if (updatedRoot.patchFlag > 0) { + vnode.dynamicChildren = [...dynamicChildren, updatedRoot]; + } + } + }; + return [normalizeVNode(childRoot), setRoot]; +}; +function filterSingleRoot(children) { + let singleRoot; + for (let i = 0; i < children.length; i++) { + const child = children[i]; + if (isVNode(child)) { + if (child.type !== Comment || child.children === "v-if") { + if (singleRoot) { + return; + } else { + singleRoot = child; + } + } + } else { + return; + } + } + return singleRoot; +} +const getFunctionalFallthrough = (attrs) => { + let res; + for (const key in attrs) { + if (key === "class" || key === "style" || isOn(key)) { + (res || (res = {}))[key] = attrs[key]; + } + } + return res; +}; +const filterModelListeners = (attrs, props) => { + const res = {}; + for (const key in attrs) { + if (!isModelListener(key) || !(key.slice(9) in props)) { + res[key] = attrs[key]; + } + } + return res; +}; +const isElementRoot = (vnode) => { + return vnode.shapeFlag & (6 | 1) || vnode.type === Comment; +}; +function shouldUpdateComponent(prevVNode, nextVNode, optimized) { + const { props: prevProps, children: prevChildren, component } = prevVNode; + const { props: nextProps, children: nextChildren, patchFlag } = nextVNode; + const emits = component.emitsOptions; + if ((prevChildren || nextChildren) && isHmrUpdating) { + return true; + } + if (nextVNode.dirs || nextVNode.transition) { + return true; + } + if (optimized && patchFlag >= 0) { + if (patchFlag & 1024) { + return true; + } + if (patchFlag & 16) { + if (!prevProps) { + return !!nextProps; + } + return hasPropsChanged(prevProps, nextProps, emits); + } else if (patchFlag & 8) { + const dynamicProps = nextVNode.dynamicProps; + for (let i = 0; i < dynamicProps.length; i++) { + const key = dynamicProps[i]; + if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) { + return true; + } + } + } + } else { + if (prevChildren || nextChildren) { + if (!nextChildren || !nextChildren.$stable) { + return true; + } + } + if (prevProps === nextProps) { + return false; + } + if (!prevProps) { + return !!nextProps; + } + if (!nextProps) { + return true; + } + return hasPropsChanged(prevProps, nextProps, emits); + } + return false; +} +function hasPropsChanged(prevProps, nextProps, emitsOptions) { + const nextKeys = Object.keys(nextProps); + if (nextKeys.length !== Object.keys(prevProps).length) { + return true; + } + for (let i = 0; i < nextKeys.length; i++) { + const key = nextKeys[i]; + if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) { + return true; + } + } + return false; +} +function updateHOCHostEl({ vnode, parent }, el) { + while (parent && parent.subTree === vnode) { + (vnode = parent.vnode).el = el; + parent = parent.parent; + } +} +const isSuspense = (type) => type.__isSuspense; +function queueEffectWithSuspense(fn, suspense) { + if (suspense && suspense.pendingBranch) { + if (isArray$3(fn)) { + suspense.effects.push(...fn); + } else { + suspense.effects.push(fn); + } + } else { + queuePostFlushCb(fn); + } +} +function provide(key, value) { + if (!currentInstance) { + { + warn$1(`provide() can only be used inside setup().`); + } + } else { + let provides = currentInstance.provides; + const parentProvides = currentInstance.parent && currentInstance.parent.provides; + if (parentProvides === provides) { + provides = currentInstance.provides = Object.create(parentProvides); + } + provides[key] = value; + } +} +function inject(key, defaultValue, treatDefaultAsFactory = false) { + const instance = currentInstance || currentRenderingInstance; + if (instance) { + const provides = instance.parent == null ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides; + if (provides && key in provides) { + return provides[key]; + } else if (arguments.length > 1) { + return treatDefaultAsFactory && isFunction$2(defaultValue) ? defaultValue.call(instance.proxy) : defaultValue; + } else { + warn$1(`injection "${String(key)}" not found.`); + } + } else { + warn$1(`inject() can only be used inside setup() or functional components.`); + } +} +function watchEffect(effect, options) { + return doWatch(effect, null, options); +} +function watchPostEffect(effect, options) { + return doWatch(effect, null, Object.assign(Object.assign({}, options), { flush: "post" })); +} +const INITIAL_WATCHER_VALUE = {}; +function watch(source, cb, options) { + if (!isFunction$2(cb)) { + warn$1(`\`watch(fn, options?)\` signature has been moved to a separate API. Use \`watchEffect(fn, options?)\` instead. \`watch\` now only supports \`watch(source, cb, options?) signature.`); + } + return doWatch(source, cb, options); +} +function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ) { + if (!cb) { + if (immediate !== void 0) { + warn$1(`watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.`); + } + if (deep !== void 0) { + warn$1(`watch() "deep" option is only respected when using the watch(source, callback, options?) signature.`); + } + } + const warnInvalidSource = (s) => { + warn$1(`Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`); + }; + const instance = currentInstance; + let getter; + let forceTrigger = false; + let isMultiSource = false; + if (isRef(source)) { + getter = () => source.value; + forceTrigger = isShallow$1(source); + } else if (isReactive(source)) { + getter = () => source; + deep = true; + } else if (isArray$3(source)) { + isMultiSource = true; + forceTrigger = source.some((s) => isReactive(s) || isShallow$1(s)); + getter = () => source.map((s) => { + if (isRef(s)) { + return s.value; + } else if (isReactive(s)) { + return traverse(s); + } else if (isFunction$2(s)) { + return callWithErrorHandling(s, instance, 2); + } else { + warnInvalidSource(s); + } + }); + } else if (isFunction$2(source)) { + if (cb) { + getter = () => callWithErrorHandling(source, instance, 2); + } else { + getter = () => { + if (instance && instance.isUnmounted) { + return; + } + if (cleanup) { + cleanup(); + } + return callWithAsyncErrorHandling(source, instance, 3, [onCleanup]); + }; + } + } else { + getter = NOOP; + warnInvalidSource(source); + } + if (cb && deep) { + const baseGetter = getter; + getter = () => traverse(baseGetter()); + } + let cleanup; + let onCleanup = (fn) => { + cleanup = effect.onStop = () => { + callWithErrorHandling(fn, instance, 4); + }; + }; + let ssrCleanup; + if (isInSSRComponentSetup) { + onCleanup = NOOP; + if (!cb) { + getter(); + } else if (immediate) { + callWithAsyncErrorHandling(cb, instance, 3, [ + getter(), + isMultiSource ? [] : void 0, + onCleanup + ]); + } + if (flush === "sync") { + const ctx = useSSRContext(); + ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []); + } else { + return NOOP; + } + } + let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE; + const job = () => { + if (!effect.active) { + return; + } + if (cb) { + const newValue = effect.run(); + if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue)) || false) { + if (cleanup) { + cleanup(); + } + callWithAsyncErrorHandling(cb, instance, 3, [ + newValue, + oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue, + onCleanup + ]); + oldValue = newValue; + } + } else { + effect.run(); + } + }; + job.allowRecurse = !!cb; + let scheduler; + if (flush === "sync") { + scheduler = job; + } else if (flush === "post") { + scheduler = () => queuePostRenderEffect(job, instance && instance.suspense); + } else { + job.pre = true; + if (instance) + job.id = instance.uid; + scheduler = () => queueJob(job); + } + const effect = new ReactiveEffect(getter, scheduler); + { + effect.onTrack = onTrack; + effect.onTrigger = onTrigger; + } + if (cb) { + if (immediate) { + job(); + } else { + oldValue = effect.run(); + } + } else if (flush === "post") { + queuePostRenderEffect(effect.run.bind(effect), instance && instance.suspense); + } else { + effect.run(); + } + const unwatch = () => { + effect.stop(); + if (instance && instance.scope) { + remove$1(instance.scope.effects, effect); + } + }; + if (ssrCleanup) + ssrCleanup.push(unwatch); + return unwatch; +} +function instanceWatch(source, value, options) { + const publicThis = this.proxy; + const getter = isString$2(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis); + let cb; + if (isFunction$2(value)) { + cb = value; + } else { + cb = value.handler; + options = value; + } + const cur = currentInstance; + setCurrentInstance(this); + const res = doWatch(getter, cb.bind(publicThis), options); + if (cur) { + setCurrentInstance(cur); + } else { + unsetCurrentInstance(); + } + return res; +} +function createPathGetter(ctx, path) { + const segments = path.split("."); + return () => { + let cur = ctx; + for (let i = 0; i < segments.length && cur; i++) { + cur = cur[segments[i]]; + } + return cur; + }; +} +function traverse(value, seen) { + if (!isObject$1(value) || value["__v_skip"]) { + return value; + } + seen = seen || /* @__PURE__ */ new Set(); + if (seen.has(value)) { + return value; + } + seen.add(value); + if (isRef(value)) { + traverse(value.value, seen); + } else if (isArray$3(value)) { + for (let i = 0; i < value.length; i++) { + traverse(value[i], seen); + } + } else if (isSet(value) || isMap(value)) { + value.forEach((v) => { + traverse(v, seen); + }); + } else if (isPlainObject$1(value)) { + for (const key in value) { + traverse(value[key], seen); + } + } + return value; +} +function defineComponent(options) { + return isFunction$2(options) ? { setup: options, name: options.name } : options; +} +const isAsyncWrapper = (i) => !!i.type.__asyncLoader; +const isKeepAlive = (vnode) => vnode.type.__isKeepAlive; +function onActivated(hook, target) { + registerKeepAliveHook(hook, "a", target); +} +function onDeactivated(hook, target) { + registerKeepAliveHook(hook, "da", target); +} +function registerKeepAliveHook(hook, type, target = currentInstance) { + const wrappedHook = hook.__wdc || (hook.__wdc = () => { + let current = target; + while (current) { + if (current.isDeactivated) { + return; + } + current = current.parent; + } + return hook(); + }); + injectHook(type, wrappedHook, target); + if (target) { + let current = target.parent; + while (current && current.parent) { + if (isKeepAlive(current.parent.vnode)) { + injectToKeepAliveRoot(wrappedHook, type, target, current); + } + current = current.parent; + } + } +} +function injectToKeepAliveRoot(hook, type, target, keepAliveRoot) { + const injected = injectHook(type, hook, keepAliveRoot, true); + onUnmounted(() => { + remove$1(keepAliveRoot[type], injected); + }, target); +} +function injectHook(type, hook, target = currentInstance, prepend = false) { + if (target) { + const hooks = target[type] || (target[type] = []); + const wrappedHook = hook.__weh || (hook.__weh = (...args) => { + if (target.isUnmounted) { + return; + } + pauseTracking(); + setCurrentInstance(target); + const res = callWithAsyncErrorHandling(hook, target, type, args); + unsetCurrentInstance(); + resetTracking(); + return res; + }); + if (prepend) { + hooks.unshift(wrappedHook); + } else { + hooks.push(wrappedHook); + } + return wrappedHook; + } else { + const apiName = toHandlerKey(ErrorTypeStrings[type].replace(/ hook$/, "")); + warn$1(`${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.`); + } +} +const createHook = (lifecycle) => (hook, target = currentInstance) => (!isInSSRComponentSetup || lifecycle === "sp") && injectHook(lifecycle, (...args) => hook(...args), target); +const onBeforeMount = createHook("bm"); +const onMounted = createHook("m"); +const onBeforeUpdate = createHook("bu"); +const onUpdated = createHook("u"); +const onBeforeUnmount = createHook("bum"); +const onUnmounted = createHook("um"); +const onServerPrefetch = createHook("sp"); +const onRenderTriggered = createHook("rtg"); +const onRenderTracked = createHook("rtc"); +function onErrorCaptured(hook, target = currentInstance) { + injectHook("ec", hook, target); +} +function validateDirectiveName(name) { + if (isBuiltInDirective(name)) { + warn$1("Do not use built-in directive ids as custom directive id: " + name); + } +} +function withDirectives(vnode, directives) { + const internalInstance = currentRenderingInstance; + if (internalInstance === null) { + warn$1(`withDirectives can only be used inside render functions.`); + return vnode; + } + const instance = getExposeProxy(internalInstance) || internalInstance.proxy; + const bindings = vnode.dirs || (vnode.dirs = []); + for (let i = 0; i < directives.length; i++) { + let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i]; + if (dir) { + if (isFunction$2(dir)) { + dir = { + mounted: dir, + updated: dir + }; + } + if (dir.deep) { + traverse(value); + } + bindings.push({ + dir, + instance, + value, + oldValue: void 0, + arg, + modifiers + }); + } + } + return vnode; +} +function invokeDirectiveHook(vnode, prevVNode, instance, name) { + const bindings = vnode.dirs; + const oldBindings = prevVNode && prevVNode.dirs; + for (let i = 0; i < bindings.length; i++) { + const binding2 = bindings[i]; + if (oldBindings) { + binding2.oldValue = oldBindings[i].value; + } + let hook = binding2.dir[name]; + if (hook) { + pauseTracking(); + callWithAsyncErrorHandling(hook, instance, 8, [ + vnode.el, + binding2, + vnode, + prevVNode + ]); + resetTracking(); + } + } +} +const COMPONENTS = "components"; +function resolveComponent(name, maybeSelfReference) { + return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name; +} +const NULL_DYNAMIC_COMPONENT = Symbol(); +function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) { + const instance = currentRenderingInstance || currentInstance; + if (instance) { + const Component = instance.type; + if (type === COMPONENTS) { + const selfName = getComponentName(Component, false); + if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) { + return Component; + } + } + const res = resolve(instance[type] || Component[type], name) || resolve(instance.appContext[type], name); + if (!res && maybeSelfReference) { + return Component; + } + if (warnMissing && !res) { + const extra = type === COMPONENTS ? ` +If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``; + warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`); + } + return res; + } else { + warn$1(`resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`); + } +} +function resolve(registry, name) { + return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]); +} +function renderList(source, renderItem, cache, index2) { + let ret; + const cached = cache && cache[index2]; + if (isArray$3(source) || isString$2(source)) { + ret = new Array(source.length); + for (let i = 0, l = source.length; i < l; i++) { + ret[i] = renderItem(source[i], i, void 0, cached && cached[i]); + } + } else if (typeof source === "number") { + if (!Number.isInteger(source)) { + warn$1(`The v-for range expect an integer value but got ${source}.`); + } + ret = new Array(source); + for (let i = 0; i < source; i++) { + ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]); + } + } else if (isObject$1(source)) { + if (source[Symbol.iterator]) { + ret = Array.from(source, (item, i) => renderItem(item, i, void 0, cached && cached[i])); + } else { + const keys = Object.keys(source); + ret = new Array(keys.length); + for (let i = 0, l = keys.length; i < l; i++) { + const key = keys[i]; + ret[i] = renderItem(source[key], key, i, cached && cached[i]); + } + } + } else { + ret = []; + } + if (cache) { + cache[index2] = ret; + } + return ret; +} +function createSlots(slots, dynamicSlots) { + for (let i = 0; i < dynamicSlots.length; i++) { + const slot = dynamicSlots[i]; + if (isArray$3(slot)) { + for (let j = 0; j < slot.length; j++) { + slots[slot[j].name] = slot[j].fn; + } + } else if (slot) { + slots[slot.name] = slot.key ? (...args) => { + const res = slot.fn(...args); + if (res) + res.key = slot.key; + return res; + } : slot.fn; + } + } + return slots; +} +function renderSlot(slots, name, props = {}, fallback, noSlotted) { + if (currentRenderingInstance.isCE || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.isCE) { + if (name !== "default") + props.name = name; + return createVNode("slot", props, fallback && fallback()); + } + let slot = slots[name]; + if (slot && slot.length > 1) { + warn$1(`SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.`); + slot = () => []; + } + if (slot && slot._c) { + slot._d = false; + } + openBlock(); + const validSlotContent = slot && ensureValidVNode(slot(props)); + const rendered = createBlock(Fragment, { + key: props.key || validSlotContent && validSlotContent.key || `_${name}` + }, validSlotContent || (fallback ? fallback() : []), validSlotContent && slots._ === 1 ? 64 : -2); + if (!noSlotted && rendered.scopeId) { + rendered.slotScopeIds = [rendered.scopeId + "-s"]; + } + if (slot && slot._c) { + slot._d = true; + } + return rendered; +} +function ensureValidVNode(vnodes) { + return vnodes.some((child) => { + if (!isVNode(child)) + return true; + if (child.type === Comment) + return false; + if (child.type === Fragment && !ensureValidVNode(child.children)) + return false; + return true; + }) ? vnodes : null; +} +const getPublicInstance = (i) => { + if (!i) + return null; + if (isStatefulComponent(i)) + return getExposeProxy(i) || i.proxy; + return getPublicInstance(i.parent); +}; +const publicPropertiesMap = /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), { + $: (i) => i, + $el: (i) => i.vnode.el, + $data: (i) => i.data, + $props: (i) => shallowReadonly(i.props), + $attrs: (i) => shallowReadonly(i.attrs), + $slots: (i) => shallowReadonly(i.slots), + $refs: (i) => shallowReadonly(i.refs), + $parent: (i) => getPublicInstance(i.parent), + $root: (i) => getPublicInstance(i.root), + $emit: (i) => i.emit, + $options: (i) => resolveMergedOptions(i), + $forceUpdate: (i) => i.f || (i.f = () => queueJob(i.update)), + $nextTick: (i) => i.n || (i.n = nextTick$1.bind(i.proxy)), + $watch: (i) => instanceWatch.bind(i) +}); +const isReservedPrefix = (key) => key === "_" || key === "$"; +const hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key); +const PublicInstanceProxyHandlers = { + get({ _: instance }, key) { + const { ctx, setupState, data, props, accessCache, type, appContext } = instance; + if (key === "__isVue") { + return true; + } + let normalizedProps; + if (key[0] !== "$") { + const n = accessCache[key]; + if (n !== void 0) { + switch (n) { + case 1: + return setupState[key]; + case 2: + return data[key]; + case 4: + return ctx[key]; + case 3: + return props[key]; + } + } else if (hasSetupBinding(setupState, key)) { + accessCache[key] = 1; + return setupState[key]; + } else if (data !== EMPTY_OBJ && hasOwn(data, key)) { + accessCache[key] = 2; + return data[key]; + } else if ((normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key)) { + accessCache[key] = 3; + return props[key]; + } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) { + accessCache[key] = 4; + return ctx[key]; + } else if (shouldCacheAccess) { + accessCache[key] = 0; + } + } + const publicGetter = publicPropertiesMap[key]; + let cssModule, globalProperties; + if (publicGetter) { + if (key === "$attrs") { + track(instance, "get", key); + markAttrsAccessed(); + } + return publicGetter(instance); + } else if ((cssModule = type.__cssModules) && (cssModule = cssModule[key])) { + return cssModule; + } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) { + accessCache[key] = 4; + return ctx[key]; + } else if (globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)) { + { + return globalProperties[key]; + } + } else if (currentRenderingInstance && (!isString$2(key) || key.indexOf("__v") !== 0)) { + if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) { + warn$1(`Property ${JSON.stringify(key)} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.`); + } else if (instance === currentRenderingInstance) { + warn$1(`Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`); + } + } + }, + set({ _: instance }, key, value) { + const { data, setupState, ctx } = instance; + if (hasSetupBinding(setupState, key)) { + setupState[key] = value; + return true; + } else if (setupState.__isScriptSetup && hasOwn(setupState, key)) { + warn$1(`Cannot mutate + + + +
+ + + diff --git a/public/manifest.json b/public/manifest.json new file mode 100644 index 0000000..c6ac507 --- /dev/null +++ b/public/manifest.json @@ -0,0 +1,14 @@ +{ + "index.html": { + "file": "assets/index.241d8ed5.js", + "src": "index.html", + "isEntry": true, + "css": [ + "assets/index.d6f403e9.css" + ] + }, + "index.css": { + "file": "assets/index.d6f403e9.css", + "src": "index.css" + } +} \ No newline at end of file diff --git a/public/public.go b/public/public.go new file mode 100644 index 0000000..43a129b --- /dev/null +++ b/public/public.go @@ -0,0 +1,6 @@ +package public + +import "embed" + +//go:embed * +var FS embed.FS diff --git a/public/vite.svg b/public/vite.svg new file mode 100644 index 0000000..e7b8dfb --- /dev/null +++ b/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/tools.go b/tools.go new file mode 100644 index 0000000..97bcc60 --- /dev/null +++ b/tools.go @@ -0,0 +1,8 @@ +//go:build tools +// +build tools + +package wpw + +import ( + _ "github.com/ii64/thrift-idl-builder" +)