{"version":3,"sources":["../src/staking.ts","../package.json","../src/rest-api/index.ts","../src/rest-api/modules/eth-staking-api.ts","../src/rest-api/modules/sol-staking-api.ts","../src/rest-api/rest-api.ts","../src/index.ts"],"sourcesContent":["import { platform, arch } from 'os';\nimport { ConfigurationRestAPI, STAKING_REST_API_PROD_URL } from '@binance/common';\nimport { name, version } from '../package.json';\nimport { RestAPI } from './rest-api';\n\nexport interface ConfigurationStaking {\n    configurationRestAPI?: ConfigurationRestAPI;\n}\n\nexport class Staking {\n    public restAPI!: RestAPI;\n\n    constructor(config: ConfigurationStaking) {\n        if (config?.configurationRestAPI) {\n            const configRestAPI = new ConfigurationRestAPI(config.configurationRestAPI);\n            configRestAPI.basePath = configRestAPI.basePath || STAKING_REST_API_PROD_URL;\n            configRestAPI.baseOptions = configRestAPI.baseOptions || {};\n            configRestAPI.baseOptions.headers = {\n                ...(configRestAPI.baseOptions.headers || {}),\n                'User-Agent': `${name}/${version} (Node.js/${process.version}; ${platform()}; ${arch()})`,\n            };\n            this.restAPI = new RestAPI(configRestAPI);\n        }\n    }\n}\n","{\n    \"name\": \"@binance/staking\",\n    \"description\": \"Official Binance Staking Connector - A lightweight library that provides a convenient interface to Binance's Staking REST API.\",\n    \"version\": \"1.0.0\",\n    \"main\": \"./dist/index.js\",\n    \"module\": \"./dist/index.mjs\",\n    \"types\": \"./dist/index.d.ts\",\n    \"scripts\": {\n        \"prepublishOnly\": \"npm run build\",\n        \"build\": \"tsup\",\n        \"typecheck\": \"tsc --noEmit\",\n        \"clean\": \"rm -rf dist\",\n        \"test\": \"npx jest --maxWorkers=4 --bail\",\n        \"test:watch\": \"npx jest --watch\",\n        \"format\": \"npx prettier --ignore-path .prettierignore --write .\",\n        \"lint\": \"npx eslint '**/*.ts' --fix\"\n    },\n    \"keywords\": [\n        \"Binance\",\n        \"API\",\n        \"Staking\",\n        \"Connector\",\n        \"REST\",\n        \"Trading\"\n    ],\n    \"author\": \"Binance\",\n    \"license\": \"MIT\",\n    \"repository\": {\n        \"type\": \"git\",\n        \"url\": \"https://github.com/binance/binance-connector-js.git\"\n    },\n    \"bugs\": {\n        \"url\": \"https://github.com/binance/binance-connector-js/issues\"\n    },\n    \"homepage\": \"https://github.com/binance/binance-connector-js#readme\",\n    \"files\": [\n        \"dist\"\n    ],\n    \"devDependencies\": {\n        \"@types/jest\": \"^29.5.4\",\n        \"@types/node\": \"^20.17.24\",\n        \"eslint\": \"8.57.0\",\n        \"jest\": \"^29.6.4\",\n        \"prettier\": \"^3.3.3\",\n        \"ts-jest\": \"^29.1.1\",\n        \"ts-node\": \"^10.9.1\",\n        \"tsup\": \"^7.2.0\",\n        \"typescript\": \"^5.7.2\",\n        \"typescript-eslint\": \"^8.24.0\"\n    },\n    \"dependencies\": {\n        \"@binance/common\": \"1.0.0\",\n        \"axios\": \"^1.7.4\"\n    }\n}\n","/**\n * Binance Public Staking REST API\n *\n * OpenAPI Specification for the Binance Public Staking REST API\n *\n * The version of the OpenAPI document: 1.0.0\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nexport * from './types';\nexport * from './modules';\nexport * from './rest-api';\n","/**\n * Binance Public Staking REST API\n *\n * OpenAPI Specification for the Binance Public Staking REST API\n *\n * The version of the OpenAPI document: 1.0.0\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport {\n    ConfigurationRestAPI,\n    TimeUnit,\n    RestApiResponse,\n    assertParamExists,\n    sendRequest,\n    type RequestArgs,\n} from '@binance/common';\nimport type {\n    EthStakingAccountResponse,\n    GetCurrentEthStakingQuotaResponse,\n    GetEthRedemptionHistoryResponse,\n    GetEthStakingHistoryResponse,\n    GetWbethRateHistoryResponse,\n    GetWbethRewardsHistoryResponse,\n    GetWbethUnwrapHistoryResponse,\n    GetWbethWrapHistoryResponse,\n    RedeemEthResponse,\n    SubscribeEthStakingResponse,\n    WrapBethResponse,\n} from '../types';\n\n/**\n * EthStakingApi - axios parameter creator\n */\nconst EthStakingApiAxiosParamCreator = function (configuration: ConfigurationRestAPI) {\n    return {\n        /**\n         * ETH Staking account\n         *\n         * Weight: 150\n         *\n         * @summary ETH Staking account(USER_DATA)\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        ethStakingAccount: async (recvWindow?: number): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v2/eth-staking/account',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get current ETH staking quota\n         *\n         * Weight: 150\n         *\n         * @summary Get current ETH staking quota(USER_DATA)\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getCurrentEthStakingQuota: async (recvWindow?: number): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/eth-staking/eth/quota',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get ETH redemption history\n         *\n         * The time between `startTime` and `endTime` cannot be longer than 3 months.\n         * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n         * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n         * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n         *\n         * Weight: 150\n         *\n         * @summary Get ETH redemption history(USER_DATA)\n         * @param {number} [startTime]\n         * @param {number} [endTime]\n         * @param {number} [current] Currently querying page. Start from 1. Default:1\n         * @param {number} [size] Default:10, Max:100\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getEthRedemptionHistory: async (\n            startTime?: number,\n            endTime?: number,\n            current?: number,\n            size?: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n\n            if (current !== undefined && current !== null) {\n                localVarQueryParameter['current'] = current;\n            }\n\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/eth-staking/eth/history/redemptionHistory',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get ETH staking history\n         *\n         * The time between `startTime` and `endTime` cannot be longer than 3 months.\n         * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n         * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n         * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n         *\n         * Weight: 150\n         *\n         * @summary Get ETH staking history(USER_DATA)\n         * @param {number} [startTime]\n         * @param {number} [endTime]\n         * @param {number} [current] Currently querying page. Start from 1. Default:1\n         * @param {number} [size] Default:10, Max:100\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getEthStakingHistory: async (\n            startTime?: number,\n            endTime?: number,\n            current?: number,\n            size?: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n\n            if (current !== undefined && current !== null) {\n                localVarQueryParameter['current'] = current;\n            }\n\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/eth-staking/eth/history/stakingHistory',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get WBETH Rate History\n         *\n         * The time between `startTime` and `endTime` cannot be longer than 3 months.\n         * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n         * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n         * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n         *\n         * Weight: 150\n         *\n         * @summary Get WBETH Rate History(USER_DATA)\n         * @param {number} [startTime]\n         * @param {number} [endTime]\n         * @param {number} [current] Currently querying page. Start from 1. Default:1\n         * @param {number} [size] Default:10, Max:100\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getWbethRateHistory: async (\n            startTime?: number,\n            endTime?: number,\n            current?: number,\n            size?: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n\n            if (current !== undefined && current !== null) {\n                localVarQueryParameter['current'] = current;\n            }\n\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/eth-staking/eth/history/rateHistory',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get WBETH rewards history\n         *\n         * The time between `startTime` and `endTime` cannot be longer than 3 months.\n         * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n         * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n         * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n         *\n         * Weight: 150\n         *\n         * @summary Get WBETH rewards history(USER_DATA)\n         * @param {number} [startTime]\n         * @param {number} [endTime]\n         * @param {number} [current] Currently querying page. Start from 1. Default:1\n         * @param {number} [size] Default:10, Max:100\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getWbethRewardsHistory: async (\n            startTime?: number,\n            endTime?: number,\n            current?: number,\n            size?: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n\n            if (current !== undefined && current !== null) {\n                localVarQueryParameter['current'] = current;\n            }\n\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/eth-staking/eth/history/wbethRewardsHistory',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get WBETH unwrap history\n         *\n         * The time between `startTime` and `endTime` cannot be longer than 3 months.\n         * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n         * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n         * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n         *\n         * Weight: 150\n         *\n         * @summary Get WBETH unwrap history(USER_DATA)\n         * @param {number} [startTime]\n         * @param {number} [endTime]\n         * @param {number} [current] Currently querying page. Start from 1. Default:1\n         * @param {number} [size] Default:10, Max:100\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getWbethUnwrapHistory: async (\n            startTime?: number,\n            endTime?: number,\n            current?: number,\n            size?: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n\n            if (current !== undefined && current !== null) {\n                localVarQueryParameter['current'] = current;\n            }\n\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/eth-staking/wbeth/history/unwrapHistory',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get WBETH wrap history\n         *\n         * The time between `startTime` and `endTime` cannot be longer than 3 months.\n         * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n         * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n         * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n         *\n         * Weight: 150\n         *\n         * @summary Get WBETH wrap history(USER_DATA)\n         * @param {number} [startTime]\n         * @param {number} [endTime]\n         * @param {number} [current] Currently querying page. Start from 1. Default:1\n         * @param {number} [size] Default:10, Max:100\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getWbethWrapHistory: async (\n            startTime?: number,\n            endTime?: number,\n            current?: number,\n            size?: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n\n            if (current !== undefined && current !== null) {\n                localVarQueryParameter['current'] = current;\n            }\n\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/eth-staking/wbeth/history/wrapHistory',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Redeem WBETH or BETH and get ETH\n         *\n         * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n         *\n         * Weight: 150\n         *\n         * @summary Redeem ETH(TRADE)\n         * @param {number} amount Amount in SOL.\n         * @param {string} [asset] WBETH or BETH, default to BETH\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        redeemEth: async (\n            amount: number,\n            asset?: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'amount' is not null or undefined\n            assertParamExists('redeemEth', 'amount', amount);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (amount !== undefined && amount !== null) {\n                localVarQueryParameter['amount'] = amount;\n            }\n\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/eth-staking/eth/redeem',\n                method: 'POST',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Subscribe ETH Staking\n         *\n         * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n         *\n         * Weight: 150\n         *\n         * @summary Subscribe ETH Staking(TRADE)\n         * @param {number} amount Amount in SOL.\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        subscribeEthStaking: async (amount: number, recvWindow?: number): Promise<RequestArgs> => {\n            // verify required parameter 'amount' is not null or undefined\n            assertParamExists('subscribeEthStaking', 'amount', amount);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (amount !== undefined && amount !== null) {\n                localVarQueryParameter['amount'] = amount;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v2/eth-staking/eth/stake',\n                method: 'POST',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Wrap BETH\n         *\n         * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n         *\n         * Weight: 150\n         *\n         * @summary Wrap BETH(TRADE)\n         * @param {number} amount Amount in SOL.\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        wrapBeth: async (amount: number, recvWindow?: number): Promise<RequestArgs> => {\n            // verify required parameter 'amount' is not null or undefined\n            assertParamExists('wrapBeth', 'amount', amount);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (amount !== undefined && amount !== null) {\n                localVarQueryParameter['amount'] = amount;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/eth-staking/wbeth/wrap',\n                method: 'POST',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n    };\n};\n\n/**\n * EthStakingApi - interface\n * @interface EthStakingApi\n */\nexport interface EthStakingApiInterface {\n    /**\n     * ETH Staking account\n     *\n     * Weight: 150\n     *\n     * @summary ETH Staking account(USER_DATA)\n     * @param {EthStakingAccountRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApiInterface\n     */\n    ethStakingAccount(\n        requestParameters?: EthStakingAccountRequest\n    ): Promise<RestApiResponse<EthStakingAccountResponse>>;\n    /**\n     * Get current ETH staking quota\n     *\n     * Weight: 150\n     *\n     * @summary Get current ETH staking quota(USER_DATA)\n     * @param {GetCurrentEthStakingQuotaRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApiInterface\n     */\n    getCurrentEthStakingQuota(\n        requestParameters?: GetCurrentEthStakingQuotaRequest\n    ): Promise<RestApiResponse<GetCurrentEthStakingQuotaResponse>>;\n    /**\n     * Get ETH redemption history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get ETH redemption history(USER_DATA)\n     * @param {GetEthRedemptionHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApiInterface\n     */\n    getEthRedemptionHistory(\n        requestParameters?: GetEthRedemptionHistoryRequest\n    ): Promise<RestApiResponse<GetEthRedemptionHistoryResponse>>;\n    /**\n     * Get ETH staking history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get ETH staking history(USER_DATA)\n     * @param {GetEthStakingHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApiInterface\n     */\n    getEthStakingHistory(\n        requestParameters?: GetEthStakingHistoryRequest\n    ): Promise<RestApiResponse<GetEthStakingHistoryResponse>>;\n    /**\n     * Get WBETH Rate History\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get WBETH Rate History(USER_DATA)\n     * @param {GetWbethRateHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApiInterface\n     */\n    getWbethRateHistory(\n        requestParameters?: GetWbethRateHistoryRequest\n    ): Promise<RestApiResponse<GetWbethRateHistoryResponse>>;\n    /**\n     * Get WBETH rewards history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get WBETH rewards history(USER_DATA)\n     * @param {GetWbethRewardsHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApiInterface\n     */\n    getWbethRewardsHistory(\n        requestParameters?: GetWbethRewardsHistoryRequest\n    ): Promise<RestApiResponse<GetWbethRewardsHistoryResponse>>;\n    /**\n     * Get WBETH unwrap history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get WBETH unwrap history(USER_DATA)\n     * @param {GetWbethUnwrapHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApiInterface\n     */\n    getWbethUnwrapHistory(\n        requestParameters?: GetWbethUnwrapHistoryRequest\n    ): Promise<RestApiResponse<GetWbethUnwrapHistoryResponse>>;\n    /**\n     * Get WBETH wrap history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get WBETH wrap history(USER_DATA)\n     * @param {GetWbethWrapHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApiInterface\n     */\n    getWbethWrapHistory(\n        requestParameters?: GetWbethWrapHistoryRequest\n    ): Promise<RestApiResponse<GetWbethWrapHistoryResponse>>;\n    /**\n     * Redeem WBETH or BETH and get ETH\n     *\n     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n     *\n     * Weight: 150\n     *\n     * @summary Redeem ETH(TRADE)\n     * @param {RedeemEthRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApiInterface\n     */\n    redeemEth(requestParameters: RedeemEthRequest): Promise<RestApiResponse<RedeemEthResponse>>;\n    /**\n     * Subscribe ETH Staking\n     *\n     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n     *\n     * Weight: 150\n     *\n     * @summary Subscribe ETH Staking(TRADE)\n     * @param {SubscribeEthStakingRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApiInterface\n     */\n    subscribeEthStaking(\n        requestParameters: SubscribeEthStakingRequest\n    ): Promise<RestApiResponse<SubscribeEthStakingResponse>>;\n    /**\n     * Wrap BETH\n     *\n     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n     *\n     * Weight: 150\n     *\n     * @summary Wrap BETH(TRADE)\n     * @param {WrapBethRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApiInterface\n     */\n    wrapBeth(requestParameters: WrapBethRequest): Promise<RestApiResponse<WrapBethResponse>>;\n}\n\n/**\n * Request parameters for ethStakingAccount operation in EthStakingApi.\n * @interface EthStakingAccountRequest\n */\nexport interface EthStakingAccountRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof EthStakingApiEthStakingAccount\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getCurrentEthStakingQuota operation in EthStakingApi.\n * @interface GetCurrentEthStakingQuotaRequest\n */\nexport interface GetCurrentEthStakingQuotaRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof EthStakingApiGetCurrentEthStakingQuota\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getEthRedemptionHistory operation in EthStakingApi.\n * @interface GetEthRedemptionHistoryRequest\n */\nexport interface GetEthRedemptionHistoryRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof EthStakingApiGetEthRedemptionHistory\n     */\n    readonly startTime?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof EthStakingApiGetEthRedemptionHistory\n     */\n    readonly endTime?: number;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number}\n     * @memberof EthStakingApiGetEthRedemptionHistory\n     */\n    readonly current?: number;\n\n    /**\n     * Default:10, Max:100\n     * @type {number}\n     * @memberof EthStakingApiGetEthRedemptionHistory\n     */\n    readonly size?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof EthStakingApiGetEthRedemptionHistory\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getEthStakingHistory operation in EthStakingApi.\n * @interface GetEthStakingHistoryRequest\n */\nexport interface GetEthStakingHistoryRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof EthStakingApiGetEthStakingHistory\n     */\n    readonly startTime?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof EthStakingApiGetEthStakingHistory\n     */\n    readonly endTime?: number;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number}\n     * @memberof EthStakingApiGetEthStakingHistory\n     */\n    readonly current?: number;\n\n    /**\n     * Default:10, Max:100\n     * @type {number}\n     * @memberof EthStakingApiGetEthStakingHistory\n     */\n    readonly size?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof EthStakingApiGetEthStakingHistory\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getWbethRateHistory operation in EthStakingApi.\n * @interface GetWbethRateHistoryRequest\n */\nexport interface GetWbethRateHistoryRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof EthStakingApiGetWbethRateHistory\n     */\n    readonly startTime?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof EthStakingApiGetWbethRateHistory\n     */\n    readonly endTime?: number;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number}\n     * @memberof EthStakingApiGetWbethRateHistory\n     */\n    readonly current?: number;\n\n    /**\n     * Default:10, Max:100\n     * @type {number}\n     * @memberof EthStakingApiGetWbethRateHistory\n     */\n    readonly size?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof EthStakingApiGetWbethRateHistory\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getWbethRewardsHistory operation in EthStakingApi.\n * @interface GetWbethRewardsHistoryRequest\n */\nexport interface GetWbethRewardsHistoryRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof EthStakingApiGetWbethRewardsHistory\n     */\n    readonly startTime?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof EthStakingApiGetWbethRewardsHistory\n     */\n    readonly endTime?: number;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number}\n     * @memberof EthStakingApiGetWbethRewardsHistory\n     */\n    readonly current?: number;\n\n    /**\n     * Default:10, Max:100\n     * @type {number}\n     * @memberof EthStakingApiGetWbethRewardsHistory\n     */\n    readonly size?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof EthStakingApiGetWbethRewardsHistory\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getWbethUnwrapHistory operation in EthStakingApi.\n * @interface GetWbethUnwrapHistoryRequest\n */\nexport interface GetWbethUnwrapHistoryRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof EthStakingApiGetWbethUnwrapHistory\n     */\n    readonly startTime?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof EthStakingApiGetWbethUnwrapHistory\n     */\n    readonly endTime?: number;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number}\n     * @memberof EthStakingApiGetWbethUnwrapHistory\n     */\n    readonly current?: number;\n\n    /**\n     * Default:10, Max:100\n     * @type {number}\n     * @memberof EthStakingApiGetWbethUnwrapHistory\n     */\n    readonly size?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof EthStakingApiGetWbethUnwrapHistory\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getWbethWrapHistory operation in EthStakingApi.\n * @interface GetWbethWrapHistoryRequest\n */\nexport interface GetWbethWrapHistoryRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof EthStakingApiGetWbethWrapHistory\n     */\n    readonly startTime?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof EthStakingApiGetWbethWrapHistory\n     */\n    readonly endTime?: number;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number}\n     * @memberof EthStakingApiGetWbethWrapHistory\n     */\n    readonly current?: number;\n\n    /**\n     * Default:10, Max:100\n     * @type {number}\n     * @memberof EthStakingApiGetWbethWrapHistory\n     */\n    readonly size?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof EthStakingApiGetWbethWrapHistory\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for redeemEth operation in EthStakingApi.\n * @interface RedeemEthRequest\n */\nexport interface RedeemEthRequest {\n    /**\n     * Amount in SOL.\n     * @type {number}\n     * @memberof EthStakingApiRedeemEth\n     */\n    readonly amount: number;\n\n    /**\n     * WBETH or BETH, default to BETH\n     * @type {string}\n     * @memberof EthStakingApiRedeemEth\n     */\n    readonly asset?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof EthStakingApiRedeemEth\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for subscribeEthStaking operation in EthStakingApi.\n * @interface SubscribeEthStakingRequest\n */\nexport interface SubscribeEthStakingRequest {\n    /**\n     * Amount in SOL.\n     * @type {number}\n     * @memberof EthStakingApiSubscribeEthStaking\n     */\n    readonly amount: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof EthStakingApiSubscribeEthStaking\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for wrapBeth operation in EthStakingApi.\n * @interface WrapBethRequest\n */\nexport interface WrapBethRequest {\n    /**\n     * Amount in SOL.\n     * @type {number}\n     * @memberof EthStakingApiWrapBeth\n     */\n    readonly amount: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof EthStakingApiWrapBeth\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * EthStakingApi - object-oriented interface\n * @class EthStakingApi\n */\nexport class EthStakingApi implements EthStakingApiInterface {\n    private readonly configuration: ConfigurationRestAPI;\n    private localVarAxiosParamCreator;\n\n    constructor(configuration: ConfigurationRestAPI) {\n        this.configuration = configuration;\n        this.localVarAxiosParamCreator = EthStakingApiAxiosParamCreator(configuration);\n    }\n\n    /**\n     * ETH Staking account\n     *\n     * Weight: 150\n     *\n     * @summary ETH Staking account(USER_DATA)\n     * @param {EthStakingAccountRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<EthStakingAccountResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/account/ETH-Staking-account Binance API Documentation}\n     */\n    public async ethStakingAccount(\n        requestParameters: EthStakingAccountRequest = {}\n    ): Promise<RestApiResponse<EthStakingAccountResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.ethStakingAccount(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<EthStakingAccountResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get current ETH staking quota\n     *\n     * Weight: 150\n     *\n     * @summary Get current ETH staking quota(USER_DATA)\n     * @param {GetCurrentEthStakingQuotaRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetCurrentEthStakingQuotaResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/account/Get-current-ETH-staking-quota Binance API Documentation}\n     */\n    public async getCurrentEthStakingQuota(\n        requestParameters: GetCurrentEthStakingQuotaRequest = {}\n    ): Promise<RestApiResponse<GetCurrentEthStakingQuotaResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getCurrentEthStakingQuota(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetCurrentEthStakingQuotaResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get ETH redemption history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get ETH redemption history(USER_DATA)\n     * @param {GetEthRedemptionHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetEthRedemptionHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/history/Get-ETH-redemption-history Binance API Documentation}\n     */\n    public async getEthRedemptionHistory(\n        requestParameters: GetEthRedemptionHistoryRequest = {}\n    ): Promise<RestApiResponse<GetEthRedemptionHistoryResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getEthRedemptionHistory(\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.current,\n            requestParameters?.size,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetEthRedemptionHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get ETH staking history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get ETH staking history(USER_DATA)\n     * @param {GetEthStakingHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetEthStakingHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/history/Get-ETH-staking-history Binance API Documentation}\n     */\n    public async getEthStakingHistory(\n        requestParameters: GetEthStakingHistoryRequest = {}\n    ): Promise<RestApiResponse<GetEthStakingHistoryResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getEthStakingHistory(\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.current,\n            requestParameters?.size,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetEthStakingHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get WBETH Rate History\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get WBETH Rate History(USER_DATA)\n     * @param {GetWbethRateHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetWbethRateHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/history/Get-BETH-Rate-History Binance API Documentation}\n     */\n    public async getWbethRateHistory(\n        requestParameters: GetWbethRateHistoryRequest = {}\n    ): Promise<RestApiResponse<GetWbethRateHistoryResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getWbethRateHistory(\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.current,\n            requestParameters?.size,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetWbethRateHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get WBETH rewards history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get WBETH rewards history(USER_DATA)\n     * @param {GetWbethRewardsHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetWbethRewardsHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/history/Get-WBETH-rewards-history Binance API Documentation}\n     */\n    public async getWbethRewardsHistory(\n        requestParameters: GetWbethRewardsHistoryRequest = {}\n    ): Promise<RestApiResponse<GetWbethRewardsHistoryResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getWbethRewardsHistory(\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.current,\n            requestParameters?.size,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetWbethRewardsHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get WBETH unwrap history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get WBETH unwrap history(USER_DATA)\n     * @param {GetWbethUnwrapHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetWbethUnwrapHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/history/Get-WBETH-unwrap-history Binance API Documentation}\n     */\n    public async getWbethUnwrapHistory(\n        requestParameters: GetWbethUnwrapHistoryRequest = {}\n    ): Promise<RestApiResponse<GetWbethUnwrapHistoryResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getWbethUnwrapHistory(\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.current,\n            requestParameters?.size,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetWbethUnwrapHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get WBETH wrap history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get WBETH wrap history(USER_DATA)\n     * @param {GetWbethWrapHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetWbethWrapHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/history/Get-WBETH-wrap-history Binance API Documentation}\n     */\n    public async getWbethWrapHistory(\n        requestParameters: GetWbethWrapHistoryRequest = {}\n    ): Promise<RestApiResponse<GetWbethWrapHistoryResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getWbethWrapHistory(\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.current,\n            requestParameters?.size,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetWbethWrapHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Redeem WBETH or BETH and get ETH\n     *\n     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n     *\n     * Weight: 150\n     *\n     * @summary Redeem ETH(TRADE)\n     * @param {RedeemEthRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<RedeemEthResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/staking/Redeem-ETH Binance API Documentation}\n     */\n    public async redeemEth(\n        requestParameters: RedeemEthRequest\n    ): Promise<RestApiResponse<RedeemEthResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.redeemEth(\n            requestParameters?.amount,\n            requestParameters?.asset,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<RedeemEthResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Subscribe ETH Staking\n     *\n     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n     *\n     * Weight: 150\n     *\n     * @summary Subscribe ETH Staking(TRADE)\n     * @param {SubscribeEthStakingRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<SubscribeEthStakingResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/staking/Subscribe-ETH-Staking Binance API Documentation}\n     */\n    public async subscribeEthStaking(\n        requestParameters: SubscribeEthStakingRequest\n    ): Promise<RestApiResponse<SubscribeEthStakingResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.subscribeEthStaking(\n            requestParameters?.amount,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<SubscribeEthStakingResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Wrap BETH\n     *\n     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n     *\n     * Weight: 150\n     *\n     * @summary Wrap BETH(TRADE)\n     * @param {WrapBethRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<WrapBethResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof EthStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/staking/Wrap-BETH Binance API Documentation}\n     */\n    public async wrapBeth(\n        requestParameters: WrapBethRequest\n    ): Promise<RestApiResponse<WrapBethResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.wrapBeth(\n            requestParameters?.amount,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<WrapBethResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n}\n","/**\n * Binance Public Staking REST API\n *\n * OpenAPI Specification for the Binance Public Staking REST API\n *\n * The version of the OpenAPI document: 1.0.0\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport {\n    ConfigurationRestAPI,\n    TimeUnit,\n    RestApiResponse,\n    assertParamExists,\n    sendRequest,\n    type RequestArgs,\n} from '@binance/common';\nimport type {\n    ClaimBoostRewardsResponse,\n    GetBnsolRateHistoryResponse,\n    GetBnsolRewardsHistoryResponse,\n    GetBoostRewardsHistoryResponse,\n    GetSolRedemptionHistoryResponse,\n    GetSolStakingHistoryResponse,\n    GetSolStakingQuotaDetailsResponse,\n    GetUnclaimedRewardsResponse,\n    RedeemSolResponse,\n    SolStakingAccountResponse,\n    SubscribeSolStakingResponse,\n} from '../types';\n\n/**\n * SolStakingApi - axios parameter creator\n */\nconst SolStakingApiAxiosParamCreator = function (configuration: ConfigurationRestAPI) {\n    return {\n        /**\n         * Claim Boost APR Airdrop Rewards\n         *\n         * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n         *\n         * Weight: 150\n         *\n         * @summary Claim Boost Rewards(TRADE)\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        claimBoostRewards: async (recvWindow?: number): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/sol-staking/sol/claim',\n                method: 'POST',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get BNSOL Rate History\n         *\n         * The time between `startTime` and `endTime` cannot be longer than 3 months.\n         * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n         * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n         * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n         *\n         * Weight: 150\n         *\n         * @summary Get BNSOL Rate History(USER_DATA)\n         * @param {number} [startTime]\n         * @param {number} [endTime]\n         * @param {number} [current] Currently querying page. Start from 1. Default:1\n         * @param {number} [size] Default:10, Max:100\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getBnsolRateHistory: async (\n            startTime?: number,\n            endTime?: number,\n            current?: number,\n            size?: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n\n            if (current !== undefined && current !== null) {\n                localVarQueryParameter['current'] = current;\n            }\n\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/sol-staking/sol/history/rateHistory',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get BNSOL rewards history\n         *\n         * The time between `startTime` and `endTime` cannot be longer than 3 months.\n         * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n         * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n         * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n         *\n         * Weight: 150\n         *\n         * @summary Get BNSOL rewards history(USER_DATA)\n         * @param {number} [startTime]\n         * @param {number} [endTime]\n         * @param {number} [current] Currently querying page. Start from 1. Default:1\n         * @param {number} [size] Default:10, Max:100\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getBnsolRewardsHistory: async (\n            startTime?: number,\n            endTime?: number,\n            current?: number,\n            size?: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n\n            if (current !== undefined && current !== null) {\n                localVarQueryParameter['current'] = current;\n            }\n\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/sol-staking/sol/history/bnsolRewardsHistory',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get Boost rewards history\n         *\n         * The time between `startTime` and `endTime` cannot be longer than 3 months.\n         * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n         * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n         * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n         *\n         * Weight: 150\n         *\n         * @summary Get Boost Rewards History(USER_DATA)\n         * @param {string} type \"CLAIM\", \"DISTRIBUTE\", default \"CLAIM\"\n         * @param {number} [startTime]\n         * @param {number} [endTime]\n         * @param {number} [current] Currently querying page. Start from 1. Default:1\n         * @param {number} [size] Default:10, Max:100\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getBoostRewardsHistory: async (\n            type: string,\n            startTime?: number,\n            endTime?: number,\n            current?: number,\n            size?: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'type' is not null or undefined\n            assertParamExists('getBoostRewardsHistory', 'type', type);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (type !== undefined && type !== null) {\n                localVarQueryParameter['type'] = type;\n            }\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n\n            if (current !== undefined && current !== null) {\n                localVarQueryParameter['current'] = current;\n            }\n\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/sol-staking/sol/history/boostRewardsHistory',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get SOL redemption history\n         *\n         * The time between `startTime` and `endTime` cannot be longer than 3 months.\n         * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n         * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n         * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n         *\n         * Weight: 150\n         *\n         * @summary Get SOL redemption history(USER_DATA)\n         * @param {number} [startTime]\n         * @param {number} [endTime]\n         * @param {number} [current] Currently querying page. Start from 1. Default:1\n         * @param {number} [size] Default:10, Max:100\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getSolRedemptionHistory: async (\n            startTime?: number,\n            endTime?: number,\n            current?: number,\n            size?: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n\n            if (current !== undefined && current !== null) {\n                localVarQueryParameter['current'] = current;\n            }\n\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/sol-staking/sol/history/redemptionHistory',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get SOL staking history\n         *\n         * The time between `startTime` and `endTime` cannot be longer than 3 months.\n         * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n         * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n         * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n         *\n         * Weight: 150\n         *\n         * @summary Get SOL staking history(USER_DATA)\n         * @param {number} [startTime]\n         * @param {number} [endTime]\n         * @param {number} [current] Currently querying page. Start from 1. Default:1\n         * @param {number} [size] Default:10, Max:100\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getSolStakingHistory: async (\n            startTime?: number,\n            endTime?: number,\n            current?: number,\n            size?: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n\n            if (current !== undefined && current !== null) {\n                localVarQueryParameter['current'] = current;\n            }\n\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/sol-staking/sol/history/stakingHistory',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get SOL staking quota\n         *\n         * Weight: 150\n         *\n         * @summary Get SOL staking quota details(USER_DATA)\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getSolStakingQuotaDetails: async (recvWindow?: number): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/sol-staking/sol/quota',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get Unclaimed rewards\n         *\n         * The time between `startTime` and `endTime` cannot be longer than 3 months.\n         * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n         * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n         * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n         *\n         * Weight: 150\n         *\n         * @summary Get Unclaimed Rewards(USER_DATA)\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getUnclaimedRewards: async (recvWindow?: number): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/sol-staking/sol/history/unclaimedRewards',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Redeem BNSOL get SOL\n         *\n         * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n         *\n         * Weight: 150\n         *\n         * @summary Redeem SOL(TRADE)\n         * @param {number} amount Amount in SOL.\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        redeemSol: async (amount: number, recvWindow?: number): Promise<RequestArgs> => {\n            // verify required parameter 'amount' is not null or undefined\n            assertParamExists('redeemSol', 'amount', amount);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (amount !== undefined && amount !== null) {\n                localVarQueryParameter['amount'] = amount;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/sol-staking/sol/redeem',\n                method: 'POST',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * SOL Staking account\n         *\n         * Weight: 150\n         *\n         * @summary SOL Staking account(USER_DATA)\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        solStakingAccount: async (recvWindow?: number): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/sol-staking/account',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Subscribe SOL Staking\n         *\n         * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n         *\n         * Weight: 150\n         *\n         * @summary Subscribe SOL Staking(TRADE)\n         * @param {number} amount Amount in SOL.\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        subscribeSolStaking: async (amount: number, recvWindow?: number): Promise<RequestArgs> => {\n            // verify required parameter 'amount' is not null or undefined\n            assertParamExists('subscribeSolStaking', 'amount', amount);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (amount !== undefined && amount !== null) {\n                localVarQueryParameter['amount'] = amount;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/sapi/v1/sol-staking/sol/stake',\n                method: 'POST',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n    };\n};\n\n/**\n * SolStakingApi - interface\n * @interface SolStakingApi\n */\nexport interface SolStakingApiInterface {\n    /**\n     * Claim Boost APR Airdrop Rewards\n     *\n     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n     *\n     * Weight: 150\n     *\n     * @summary Claim Boost Rewards(TRADE)\n     * @param {ClaimBoostRewardsRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApiInterface\n     */\n    claimBoostRewards(\n        requestParameters?: ClaimBoostRewardsRequest\n    ): Promise<RestApiResponse<ClaimBoostRewardsResponse>>;\n    /**\n     * Get BNSOL Rate History\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get BNSOL Rate History(USER_DATA)\n     * @param {GetBnsolRateHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApiInterface\n     */\n    getBnsolRateHistory(\n        requestParameters?: GetBnsolRateHistoryRequest\n    ): Promise<RestApiResponse<GetBnsolRateHistoryResponse>>;\n    /**\n     * Get BNSOL rewards history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get BNSOL rewards history(USER_DATA)\n     * @param {GetBnsolRewardsHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApiInterface\n     */\n    getBnsolRewardsHistory(\n        requestParameters?: GetBnsolRewardsHistoryRequest\n    ): Promise<RestApiResponse<GetBnsolRewardsHistoryResponse>>;\n    /**\n     * Get Boost rewards history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get Boost Rewards History(USER_DATA)\n     * @param {GetBoostRewardsHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApiInterface\n     */\n    getBoostRewardsHistory(\n        requestParameters: GetBoostRewardsHistoryRequest\n    ): Promise<RestApiResponse<GetBoostRewardsHistoryResponse>>;\n    /**\n     * Get SOL redemption history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get SOL redemption history(USER_DATA)\n     * @param {GetSolRedemptionHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApiInterface\n     */\n    getSolRedemptionHistory(\n        requestParameters?: GetSolRedemptionHistoryRequest\n    ): Promise<RestApiResponse<GetSolRedemptionHistoryResponse>>;\n    /**\n     * Get SOL staking history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get SOL staking history(USER_DATA)\n     * @param {GetSolStakingHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApiInterface\n     */\n    getSolStakingHistory(\n        requestParameters?: GetSolStakingHistoryRequest\n    ): Promise<RestApiResponse<GetSolStakingHistoryResponse>>;\n    /**\n     * Get SOL staking quota\n     *\n     * Weight: 150\n     *\n     * @summary Get SOL staking quota details(USER_DATA)\n     * @param {GetSolStakingQuotaDetailsRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApiInterface\n     */\n    getSolStakingQuotaDetails(\n        requestParameters?: GetSolStakingQuotaDetailsRequest\n    ): Promise<RestApiResponse<GetSolStakingQuotaDetailsResponse>>;\n    /**\n     * Get Unclaimed rewards\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get Unclaimed Rewards(USER_DATA)\n     * @param {GetUnclaimedRewardsRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApiInterface\n     */\n    getUnclaimedRewards(\n        requestParameters?: GetUnclaimedRewardsRequest\n    ): Promise<RestApiResponse<GetUnclaimedRewardsResponse>>;\n    /**\n     * Redeem BNSOL get SOL\n     *\n     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n     *\n     * Weight: 150\n     *\n     * @summary Redeem SOL(TRADE)\n     * @param {RedeemSolRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApiInterface\n     */\n    redeemSol(requestParameters: RedeemSolRequest): Promise<RestApiResponse<RedeemSolResponse>>;\n    /**\n     * SOL Staking account\n     *\n     * Weight: 150\n     *\n     * @summary SOL Staking account(USER_DATA)\n     * @param {SolStakingAccountRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApiInterface\n     */\n    solStakingAccount(\n        requestParameters?: SolStakingAccountRequest\n    ): Promise<RestApiResponse<SolStakingAccountResponse>>;\n    /**\n     * Subscribe SOL Staking\n     *\n     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n     *\n     * Weight: 150\n     *\n     * @summary Subscribe SOL Staking(TRADE)\n     * @param {SubscribeSolStakingRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApiInterface\n     */\n    subscribeSolStaking(\n        requestParameters: SubscribeSolStakingRequest\n    ): Promise<RestApiResponse<SubscribeSolStakingResponse>>;\n}\n\n/**\n * Request parameters for claimBoostRewards operation in SolStakingApi.\n * @interface ClaimBoostRewardsRequest\n */\nexport interface ClaimBoostRewardsRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof SolStakingApiClaimBoostRewards\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getBnsolRateHistory operation in SolStakingApi.\n * @interface GetBnsolRateHistoryRequest\n */\nexport interface GetBnsolRateHistoryRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof SolStakingApiGetBnsolRateHistory\n     */\n    readonly startTime?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof SolStakingApiGetBnsolRateHistory\n     */\n    readonly endTime?: number;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number}\n     * @memberof SolStakingApiGetBnsolRateHistory\n     */\n    readonly current?: number;\n\n    /**\n     * Default:10, Max:100\n     * @type {number}\n     * @memberof SolStakingApiGetBnsolRateHistory\n     */\n    readonly size?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof SolStakingApiGetBnsolRateHistory\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getBnsolRewardsHistory operation in SolStakingApi.\n * @interface GetBnsolRewardsHistoryRequest\n */\nexport interface GetBnsolRewardsHistoryRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof SolStakingApiGetBnsolRewardsHistory\n     */\n    readonly startTime?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof SolStakingApiGetBnsolRewardsHistory\n     */\n    readonly endTime?: number;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number}\n     * @memberof SolStakingApiGetBnsolRewardsHistory\n     */\n    readonly current?: number;\n\n    /**\n     * Default:10, Max:100\n     * @type {number}\n     * @memberof SolStakingApiGetBnsolRewardsHistory\n     */\n    readonly size?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof SolStakingApiGetBnsolRewardsHistory\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getBoostRewardsHistory operation in SolStakingApi.\n * @interface GetBoostRewardsHistoryRequest\n */\nexport interface GetBoostRewardsHistoryRequest {\n    /**\n     * \"CLAIM\", \"DISTRIBUTE\", default \"CLAIM\"\n     * @type {string}\n     * @memberof SolStakingApiGetBoostRewardsHistory\n     */\n    readonly type: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof SolStakingApiGetBoostRewardsHistory\n     */\n    readonly startTime?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof SolStakingApiGetBoostRewardsHistory\n     */\n    readonly endTime?: number;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number}\n     * @memberof SolStakingApiGetBoostRewardsHistory\n     */\n    readonly current?: number;\n\n    /**\n     * Default:10, Max:100\n     * @type {number}\n     * @memberof SolStakingApiGetBoostRewardsHistory\n     */\n    readonly size?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof SolStakingApiGetBoostRewardsHistory\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getSolRedemptionHistory operation in SolStakingApi.\n * @interface GetSolRedemptionHistoryRequest\n */\nexport interface GetSolRedemptionHistoryRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof SolStakingApiGetSolRedemptionHistory\n     */\n    readonly startTime?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof SolStakingApiGetSolRedemptionHistory\n     */\n    readonly endTime?: number;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number}\n     * @memberof SolStakingApiGetSolRedemptionHistory\n     */\n    readonly current?: number;\n\n    /**\n     * Default:10, Max:100\n     * @type {number}\n     * @memberof SolStakingApiGetSolRedemptionHistory\n     */\n    readonly size?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof SolStakingApiGetSolRedemptionHistory\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getSolStakingHistory operation in SolStakingApi.\n * @interface GetSolStakingHistoryRequest\n */\nexport interface GetSolStakingHistoryRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof SolStakingApiGetSolStakingHistory\n     */\n    readonly startTime?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof SolStakingApiGetSolStakingHistory\n     */\n    readonly endTime?: number;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number}\n     * @memberof SolStakingApiGetSolStakingHistory\n     */\n    readonly current?: number;\n\n    /**\n     * Default:10, Max:100\n     * @type {number}\n     * @memberof SolStakingApiGetSolStakingHistory\n     */\n    readonly size?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof SolStakingApiGetSolStakingHistory\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getSolStakingQuotaDetails operation in SolStakingApi.\n * @interface GetSolStakingQuotaDetailsRequest\n */\nexport interface GetSolStakingQuotaDetailsRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof SolStakingApiGetSolStakingQuotaDetails\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getUnclaimedRewards operation in SolStakingApi.\n * @interface GetUnclaimedRewardsRequest\n */\nexport interface GetUnclaimedRewardsRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof SolStakingApiGetUnclaimedRewards\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for redeemSol operation in SolStakingApi.\n * @interface RedeemSolRequest\n */\nexport interface RedeemSolRequest {\n    /**\n     * Amount in SOL.\n     * @type {number}\n     * @memberof SolStakingApiRedeemSol\n     */\n    readonly amount: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof SolStakingApiRedeemSol\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for solStakingAccount operation in SolStakingApi.\n * @interface SolStakingAccountRequest\n */\nexport interface SolStakingAccountRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof SolStakingApiSolStakingAccount\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for subscribeSolStaking operation in SolStakingApi.\n * @interface SubscribeSolStakingRequest\n */\nexport interface SubscribeSolStakingRequest {\n    /**\n     * Amount in SOL.\n     * @type {number}\n     * @memberof SolStakingApiSubscribeSolStaking\n     */\n    readonly amount: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof SolStakingApiSubscribeSolStaking\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * SolStakingApi - object-oriented interface\n * @class SolStakingApi\n */\nexport class SolStakingApi implements SolStakingApiInterface {\n    private readonly configuration: ConfigurationRestAPI;\n    private localVarAxiosParamCreator;\n\n    constructor(configuration: ConfigurationRestAPI) {\n        this.configuration = configuration;\n        this.localVarAxiosParamCreator = SolStakingApiAxiosParamCreator(configuration);\n    }\n\n    /**\n     * Claim Boost APR Airdrop Rewards\n     *\n     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n     *\n     * Weight: 150\n     *\n     * @summary Claim Boost Rewards(TRADE)\n     * @param {ClaimBoostRewardsRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<ClaimBoostRewardsResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/staking/Claim-Boost-Rewards Binance API Documentation}\n     */\n    public async claimBoostRewards(\n        requestParameters: ClaimBoostRewardsRequest = {}\n    ): Promise<RestApiResponse<ClaimBoostRewardsResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.claimBoostRewards(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<ClaimBoostRewardsResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get BNSOL Rate History\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get BNSOL Rate History(USER_DATA)\n     * @param {GetBnsolRateHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetBnsolRateHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/history/Get-BNSOL-Rate-History Binance API Documentation}\n     */\n    public async getBnsolRateHistory(\n        requestParameters: GetBnsolRateHistoryRequest = {}\n    ): Promise<RestApiResponse<GetBnsolRateHistoryResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getBnsolRateHistory(\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.current,\n            requestParameters?.size,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetBnsolRateHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get BNSOL rewards history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get BNSOL rewards history(USER_DATA)\n     * @param {GetBnsolRewardsHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetBnsolRewardsHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/history/Get-BNSOL-rewards-history Binance API Documentation}\n     */\n    public async getBnsolRewardsHistory(\n        requestParameters: GetBnsolRewardsHistoryRequest = {}\n    ): Promise<RestApiResponse<GetBnsolRewardsHistoryResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getBnsolRewardsHistory(\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.current,\n            requestParameters?.size,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetBnsolRewardsHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get Boost rewards history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get Boost Rewards History(USER_DATA)\n     * @param {GetBoostRewardsHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetBoostRewardsHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/history/Get-Boost-Rewards-History Binance API Documentation}\n     */\n    public async getBoostRewardsHistory(\n        requestParameters: GetBoostRewardsHistoryRequest\n    ): Promise<RestApiResponse<GetBoostRewardsHistoryResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getBoostRewardsHistory(\n            requestParameters?.type,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.current,\n            requestParameters?.size,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetBoostRewardsHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get SOL redemption history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get SOL redemption history(USER_DATA)\n     * @param {GetSolRedemptionHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetSolRedemptionHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/history/Get-SOL-redemption-history Binance API Documentation}\n     */\n    public async getSolRedemptionHistory(\n        requestParameters: GetSolRedemptionHistoryRequest = {}\n    ): Promise<RestApiResponse<GetSolRedemptionHistoryResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getSolRedemptionHistory(\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.current,\n            requestParameters?.size,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetSolRedemptionHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get SOL staking history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get SOL staking history(USER_DATA)\n     * @param {GetSolStakingHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetSolStakingHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/history/Get-SOL-staking-history Binance API Documentation}\n     */\n    public async getSolStakingHistory(\n        requestParameters: GetSolStakingHistoryRequest = {}\n    ): Promise<RestApiResponse<GetSolStakingHistoryResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getSolStakingHistory(\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.current,\n            requestParameters?.size,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetSolStakingHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get SOL staking quota\n     *\n     * Weight: 150\n     *\n     * @summary Get SOL staking quota details(USER_DATA)\n     * @param {GetSolStakingQuotaDetailsRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetSolStakingQuotaDetailsResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/account/Get-SOL-staking-quota-details Binance API Documentation}\n     */\n    public async getSolStakingQuotaDetails(\n        requestParameters: GetSolStakingQuotaDetailsRequest = {}\n    ): Promise<RestApiResponse<GetSolStakingQuotaDetailsResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getSolStakingQuotaDetails(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetSolStakingQuotaDetailsResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get Unclaimed rewards\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get Unclaimed Rewards(USER_DATA)\n     * @param {GetUnclaimedRewardsRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetUnclaimedRewardsResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/history/Get-Unclaimed-Rewards Binance API Documentation}\n     */\n    public async getUnclaimedRewards(\n        requestParameters: GetUnclaimedRewardsRequest = {}\n    ): Promise<RestApiResponse<GetUnclaimedRewardsResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getUnclaimedRewards(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetUnclaimedRewardsResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Redeem BNSOL get SOL\n     *\n     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n     *\n     * Weight: 150\n     *\n     * @summary Redeem SOL(TRADE)\n     * @param {RedeemSolRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<RedeemSolResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/staking/Redeem-SOL Binance API Documentation}\n     */\n    public async redeemSol(\n        requestParameters: RedeemSolRequest\n    ): Promise<RestApiResponse<RedeemSolResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.redeemSol(\n            requestParameters?.amount,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<RedeemSolResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * SOL Staking account\n     *\n     * Weight: 150\n     *\n     * @summary SOL Staking account(USER_DATA)\n     * @param {SolStakingAccountRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<SolStakingAccountResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/account/SOL-Staking-account Binance API Documentation}\n     */\n    public async solStakingAccount(\n        requestParameters: SolStakingAccountRequest = {}\n    ): Promise<RestApiResponse<SolStakingAccountResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.solStakingAccount(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<SolStakingAccountResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Subscribe SOL Staking\n     *\n     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n     *\n     * Weight: 150\n     *\n     * @summary Subscribe SOL Staking(TRADE)\n     * @param {SubscribeSolStakingRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<SubscribeSolStakingResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof SolStakingApi\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/staking/Subscribe-SOL-Staking Binance API Documentation}\n     */\n    public async subscribeSolStaking(\n        requestParameters: SubscribeSolStakingRequest\n    ): Promise<RestApiResponse<SubscribeSolStakingResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.subscribeSolStaking(\n            requestParameters?.amount,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<SubscribeSolStakingResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n}\n","/**\n * Binance Public Staking REST API\n *\n * OpenAPI Specification for the Binance Public Staking REST API\n *\n * The version of the OpenAPI document: 1.0.0\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { ConfigurationRestAPI, RestApiResponse, sendRequest } from '@binance/common';\nimport { EthStakingApi } from './modules/eth-staking-api';\nimport { SolStakingApi } from './modules/sol-staking-api';\n\nimport type {\n    EthStakingAccountRequest,\n    GetCurrentEthStakingQuotaRequest,\n    GetEthRedemptionHistoryRequest,\n    GetEthStakingHistoryRequest,\n    GetWbethRateHistoryRequest,\n    GetWbethRewardsHistoryRequest,\n    GetWbethUnwrapHistoryRequest,\n    GetWbethWrapHistoryRequest,\n    RedeemEthRequest,\n    SubscribeEthStakingRequest,\n    WrapBethRequest,\n} from './modules/eth-staking-api';\nimport type {\n    ClaimBoostRewardsRequest,\n    GetBnsolRateHistoryRequest,\n    GetBnsolRewardsHistoryRequest,\n    GetBoostRewardsHistoryRequest,\n    GetSolRedemptionHistoryRequest,\n    GetSolStakingHistoryRequest,\n    GetSolStakingQuotaDetailsRequest,\n    GetUnclaimedRewardsRequest,\n    RedeemSolRequest,\n    SolStakingAccountRequest,\n    SubscribeSolStakingRequest,\n} from './modules/sol-staking-api';\n\nimport type {\n    EthStakingAccountResponse,\n    GetCurrentEthStakingQuotaResponse,\n    GetEthRedemptionHistoryResponse,\n    GetEthStakingHistoryResponse,\n    GetWbethRateHistoryResponse,\n    GetWbethRewardsHistoryResponse,\n    GetWbethUnwrapHistoryResponse,\n    GetWbethWrapHistoryResponse,\n    RedeemEthResponse,\n    SubscribeEthStakingResponse,\n    WrapBethResponse,\n} from './types';\nimport type {\n    ClaimBoostRewardsResponse,\n    GetBnsolRateHistoryResponse,\n    GetBnsolRewardsHistoryResponse,\n    GetBoostRewardsHistoryResponse,\n    GetSolRedemptionHistoryResponse,\n    GetSolStakingHistoryResponse,\n    GetSolStakingQuotaDetailsResponse,\n    GetUnclaimedRewardsResponse,\n    RedeemSolResponse,\n    SolStakingAccountResponse,\n    SubscribeSolStakingResponse,\n} from './types';\n\nexport class RestAPI {\n    private configuration: ConfigurationRestAPI;\n    private ethStakingApi: EthStakingApi;\n    private solStakingApi: SolStakingApi;\n\n    constructor(configuration: ConfigurationRestAPI) {\n        this.configuration = configuration;\n        this.ethStakingApi = new EthStakingApi(configuration);\n        this.solStakingApi = new SolStakingApi(configuration);\n    }\n\n    /**\n     * Generic function to send a request.\n     * @param endpoint - The API endpoint to call.\n     * @param method - HTTP method to use (GET, POST, DELETE, etc.).\n     * @param params - Query parameters for the request.\n     *\n     * @returns A promise resolving to the response data object.\n     */\n    sendRequest<T>(\n        endpoint: string,\n        method: 'GET' | 'POST' | 'DELETE' | 'PUT' | 'PATCH',\n        params: Record<string, unknown> = {}\n    ): Promise<RestApiResponse<T>> {\n        return sendRequest<T>(this.configuration, endpoint, method, params, undefined);\n    }\n\n    /**\n     * Generic function to send a signed request.\n     * @param endpoint - The API endpoint to call.\n     * @param method - HTTP method to use (GET, POST, DELETE, etc.).\n     * @param params - Query parameters for the request.\n     *\n     * @returns A promise resolving to the response data object.\n     */\n    sendSignedRequest<T>(\n        endpoint: string,\n        method: 'GET' | 'POST' | 'DELETE' | 'PUT' | 'PATCH',\n        params: Record<string, unknown> = {}\n    ): Promise<RestApiResponse<T>> {\n        return sendRequest<T>(this.configuration, endpoint, method, params, undefined, {\n            isSigned: true,\n        });\n    }\n\n    /**\n     * ETH Staking account\n     *\n     * Weight: 150\n     *\n     * @summary ETH Staking account(USER_DATA)\n     * @param {EthStakingAccountRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<EthStakingAccountResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/account/ETH-Staking-account Binance API Documentation}\n     */\n    ethStakingAccount(\n        requestParameters: EthStakingAccountRequest = {}\n    ): Promise<RestApiResponse<EthStakingAccountResponse>> {\n        return this.ethStakingApi.ethStakingAccount(requestParameters);\n    }\n\n    /**\n     * Get current ETH staking quota\n     *\n     * Weight: 150\n     *\n     * @summary Get current ETH staking quota(USER_DATA)\n     * @param {GetCurrentEthStakingQuotaRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetCurrentEthStakingQuotaResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/account/Get-current-ETH-staking-quota Binance API Documentation}\n     */\n    getCurrentEthStakingQuota(\n        requestParameters: GetCurrentEthStakingQuotaRequest = {}\n    ): Promise<RestApiResponse<GetCurrentEthStakingQuotaResponse>> {\n        return this.ethStakingApi.getCurrentEthStakingQuota(requestParameters);\n    }\n\n    /**\n     * Get ETH redemption history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get ETH redemption history(USER_DATA)\n     * @param {GetEthRedemptionHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetEthRedemptionHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/history/Get-ETH-redemption-history Binance API Documentation}\n     */\n    getEthRedemptionHistory(\n        requestParameters: GetEthRedemptionHistoryRequest = {}\n    ): Promise<RestApiResponse<GetEthRedemptionHistoryResponse>> {\n        return this.ethStakingApi.getEthRedemptionHistory(requestParameters);\n    }\n\n    /**\n     * Get ETH staking history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get ETH staking history(USER_DATA)\n     * @param {GetEthStakingHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetEthStakingHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/history/Get-ETH-staking-history Binance API Documentation}\n     */\n    getEthStakingHistory(\n        requestParameters: GetEthStakingHistoryRequest = {}\n    ): Promise<RestApiResponse<GetEthStakingHistoryResponse>> {\n        return this.ethStakingApi.getEthStakingHistory(requestParameters);\n    }\n\n    /**\n     * Get WBETH Rate History\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get WBETH Rate History(USER_DATA)\n     * @param {GetWbethRateHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetWbethRateHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/history/Get-BETH-Rate-History Binance API Documentation}\n     */\n    getWbethRateHistory(\n        requestParameters: GetWbethRateHistoryRequest = {}\n    ): Promise<RestApiResponse<GetWbethRateHistoryResponse>> {\n        return this.ethStakingApi.getWbethRateHistory(requestParameters);\n    }\n\n    /**\n     * Get WBETH rewards history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get WBETH rewards history(USER_DATA)\n     * @param {GetWbethRewardsHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetWbethRewardsHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/history/Get-WBETH-rewards-history Binance API Documentation}\n     */\n    getWbethRewardsHistory(\n        requestParameters: GetWbethRewardsHistoryRequest = {}\n    ): Promise<RestApiResponse<GetWbethRewardsHistoryResponse>> {\n        return this.ethStakingApi.getWbethRewardsHistory(requestParameters);\n    }\n\n    /**\n     * Get WBETH unwrap history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get WBETH unwrap history(USER_DATA)\n     * @param {GetWbethUnwrapHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetWbethUnwrapHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/history/Get-WBETH-unwrap-history Binance API Documentation}\n     */\n    getWbethUnwrapHistory(\n        requestParameters: GetWbethUnwrapHistoryRequest = {}\n    ): Promise<RestApiResponse<GetWbethUnwrapHistoryResponse>> {\n        return this.ethStakingApi.getWbethUnwrapHistory(requestParameters);\n    }\n\n    /**\n     * Get WBETH wrap history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get WBETH wrap history(USER_DATA)\n     * @param {GetWbethWrapHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetWbethWrapHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/history/Get-WBETH-wrap-history Binance API Documentation}\n     */\n    getWbethWrapHistory(\n        requestParameters: GetWbethWrapHistoryRequest = {}\n    ): Promise<RestApiResponse<GetWbethWrapHistoryResponse>> {\n        return this.ethStakingApi.getWbethWrapHistory(requestParameters);\n    }\n\n    /**\n     * Redeem WBETH or BETH and get ETH\n     *\n     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n     *\n     * Weight: 150\n     *\n     * @summary Redeem ETH(TRADE)\n     * @param {RedeemEthRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<RedeemEthResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/staking/Redeem-ETH Binance API Documentation}\n     */\n    redeemEth(requestParameters: RedeemEthRequest): Promise<RestApiResponse<RedeemEthResponse>> {\n        return this.ethStakingApi.redeemEth(requestParameters);\n    }\n\n    /**\n     * Subscribe ETH Staking\n     *\n     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n     *\n     * Weight: 150\n     *\n     * @summary Subscribe ETH Staking(TRADE)\n     * @param {SubscribeEthStakingRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<SubscribeEthStakingResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/staking/Subscribe-ETH-Staking Binance API Documentation}\n     */\n    subscribeEthStaking(\n        requestParameters: SubscribeEthStakingRequest\n    ): Promise<RestApiResponse<SubscribeEthStakingResponse>> {\n        return this.ethStakingApi.subscribeEthStaking(requestParameters);\n    }\n\n    /**\n     * Wrap BETH\n     *\n     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n     *\n     * Weight: 150\n     *\n     * @summary Wrap BETH(TRADE)\n     * @param {WrapBethRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<WrapBethResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/eth-staking/staking/Wrap-BETH Binance API Documentation}\n     */\n    wrapBeth(requestParameters: WrapBethRequest): Promise<RestApiResponse<WrapBethResponse>> {\n        return this.ethStakingApi.wrapBeth(requestParameters);\n    }\n\n    /**\n     * Claim Boost APR Airdrop Rewards\n     *\n     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n     *\n     * Weight: 150\n     *\n     * @summary Claim Boost Rewards(TRADE)\n     * @param {ClaimBoostRewardsRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<ClaimBoostRewardsResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/staking/Claim-Boost-Rewards Binance API Documentation}\n     */\n    claimBoostRewards(\n        requestParameters: ClaimBoostRewardsRequest = {}\n    ): Promise<RestApiResponse<ClaimBoostRewardsResponse>> {\n        return this.solStakingApi.claimBoostRewards(requestParameters);\n    }\n\n    /**\n     * Get BNSOL Rate History\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get BNSOL Rate History(USER_DATA)\n     * @param {GetBnsolRateHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetBnsolRateHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/history/Get-BNSOL-Rate-History Binance API Documentation}\n     */\n    getBnsolRateHistory(\n        requestParameters: GetBnsolRateHistoryRequest = {}\n    ): Promise<RestApiResponse<GetBnsolRateHistoryResponse>> {\n        return this.solStakingApi.getBnsolRateHistory(requestParameters);\n    }\n\n    /**\n     * Get BNSOL rewards history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get BNSOL rewards history(USER_DATA)\n     * @param {GetBnsolRewardsHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetBnsolRewardsHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/history/Get-BNSOL-rewards-history Binance API Documentation}\n     */\n    getBnsolRewardsHistory(\n        requestParameters: GetBnsolRewardsHistoryRequest = {}\n    ): Promise<RestApiResponse<GetBnsolRewardsHistoryResponse>> {\n        return this.solStakingApi.getBnsolRewardsHistory(requestParameters);\n    }\n\n    /**\n     * Get Boost rewards history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get Boost Rewards History(USER_DATA)\n     * @param {GetBoostRewardsHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetBoostRewardsHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/history/Get-Boost-Rewards-History Binance API Documentation}\n     */\n    getBoostRewardsHistory(\n        requestParameters: GetBoostRewardsHistoryRequest\n    ): Promise<RestApiResponse<GetBoostRewardsHistoryResponse>> {\n        return this.solStakingApi.getBoostRewardsHistory(requestParameters);\n    }\n\n    /**\n     * Get SOL redemption history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get SOL redemption history(USER_DATA)\n     * @param {GetSolRedemptionHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetSolRedemptionHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/history/Get-SOL-redemption-history Binance API Documentation}\n     */\n    getSolRedemptionHistory(\n        requestParameters: GetSolRedemptionHistoryRequest = {}\n    ): Promise<RestApiResponse<GetSolRedemptionHistoryResponse>> {\n        return this.solStakingApi.getSolRedemptionHistory(requestParameters);\n    }\n\n    /**\n     * Get SOL staking history\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get SOL staking history(USER_DATA)\n     * @param {GetSolStakingHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetSolStakingHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/history/Get-SOL-staking-history Binance API Documentation}\n     */\n    getSolStakingHistory(\n        requestParameters: GetSolStakingHistoryRequest = {}\n    ): Promise<RestApiResponse<GetSolStakingHistoryResponse>> {\n        return this.solStakingApi.getSolStakingHistory(requestParameters);\n    }\n\n    /**\n     * Get SOL staking quota\n     *\n     * Weight: 150\n     *\n     * @summary Get SOL staking quota details(USER_DATA)\n     * @param {GetSolStakingQuotaDetailsRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetSolStakingQuotaDetailsResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/account/Get-SOL-staking-quota-details Binance API Documentation}\n     */\n    getSolStakingQuotaDetails(\n        requestParameters: GetSolStakingQuotaDetailsRequest = {}\n    ): Promise<RestApiResponse<GetSolStakingQuotaDetailsResponse>> {\n        return this.solStakingApi.getSolStakingQuotaDetails(requestParameters);\n    }\n\n    /**\n     * Get Unclaimed rewards\n     *\n     * The time between `startTime` and `endTime` cannot be longer than 3 months.\n     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.\n     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.\n     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.\n     *\n     * Weight: 150\n     *\n     * @summary Get Unclaimed Rewards(USER_DATA)\n     * @param {GetUnclaimedRewardsRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetUnclaimedRewardsResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/history/Get-Unclaimed-Rewards Binance API Documentation}\n     */\n    getUnclaimedRewards(\n        requestParameters: GetUnclaimedRewardsRequest = {}\n    ): Promise<RestApiResponse<GetUnclaimedRewardsResponse>> {\n        return this.solStakingApi.getUnclaimedRewards(requestParameters);\n    }\n\n    /**\n     * Redeem BNSOL get SOL\n     *\n     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n     *\n     * Weight: 150\n     *\n     * @summary Redeem SOL(TRADE)\n     * @param {RedeemSolRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<RedeemSolResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/staking/Redeem-SOL Binance API Documentation}\n     */\n    redeemSol(requestParameters: RedeemSolRequest): Promise<RestApiResponse<RedeemSolResponse>> {\n        return this.solStakingApi.redeemSol(requestParameters);\n    }\n\n    /**\n     * SOL Staking account\n     *\n     * Weight: 150\n     *\n     * @summary SOL Staking account(USER_DATA)\n     * @param {SolStakingAccountRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<SolStakingAccountResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/account/SOL-Staking-account Binance API Documentation}\n     */\n    solStakingAccount(\n        requestParameters: SolStakingAccountRequest = {}\n    ): Promise<RestApiResponse<SolStakingAccountResponse>> {\n        return this.solStakingApi.solStakingAccount(requestParameters);\n    }\n\n    /**\n     * Subscribe SOL Staking\n     *\n     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.\n     *\n     * Weight: 150\n     *\n     * @summary Subscribe SOL Staking(TRADE)\n     * @param {SubscribeSolStakingRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<SubscribeSolStakingResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/staking/sol-staking/staking/Subscribe-SOL-Staking Binance API Documentation}\n     */\n    subscribeSolStaking(\n        requestParameters: SubscribeSolStakingRequest\n    ): Promise<RestApiResponse<SubscribeSolStakingResponse>> {\n        return this.solStakingApi.subscribeSolStaking(requestParameters);\n    }\n}\n","export { Staking, ConfigurationStaking } from './staking';\nexport * as StakingRestAPI from './rest-api';\n\nexport {\n    STAKING_REST_API_PROD_URL,\n    STAKING_REST_API_TESTNET_URL,\n    ConnectorClientError,\n    RequiredError,\n    UnauthorizedError,\n    ForbiddenError,\n    TooManyRequestsError,\n    RateLimitBanError,\n    ServerError,\n    NetworkError,\n    NotFoundError,\n    BadRequestError,\n} from '@binance/common';\n"],"mappings":";;;;;;;AAAA,SAAS,UAAU,YAAY;AAC/B,SAAS,wBAAAA,uBAAsB,iCAAiC;;;ACA5D,WAAQ;AAER,cAAW;;;ACHf;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACaA;AAAA,EAII;AAAA,EACA;AAAA,OAEG;AAkBP,IAAM,iCAAiC,SAAU,eAAqC;AAClF,SAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWH,mBAAmB,OAAO,eAA8C;AACpE,YAAM,yBAAkD,CAAC;AAEzD,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc;AAAe,oBAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWA,2BAA2B,OAAO,eAA8C;AAC5E,YAAM,yBAAkD,CAAC;AAEzD,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc;AAAe,oBAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAoBA,yBAAyB,OACrB,WACA,SACA,SACA,MACA,eACuB;AACvB,YAAM,yBAAkD,CAAC;AAEzD,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,SAAS,UAAa,SAAS,MAAM;AACrC,+BAAuB,MAAM,IAAI;AAAA,MACrC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc;AAAe,oBAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAoBA,sBAAsB,OAClB,WACA,SACA,SACA,MACA,eACuB;AACvB,YAAM,yBAAkD,CAAC;AAEzD,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,SAAS,UAAa,SAAS,MAAM;AACrC,+BAAuB,MAAM,IAAI;AAAA,MACrC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc;AAAe,oBAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAoBA,qBAAqB,OACjB,WACA,SACA,SACA,MACA,eACuB;AACvB,YAAM,yBAAkD,CAAC;AAEzD,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,SAAS,UAAa,SAAS,MAAM;AACrC,+BAAuB,MAAM,IAAI;AAAA,MACrC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc;AAAe,oBAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAoBA,wBAAwB,OACpB,WACA,SACA,SACA,MACA,eACuB;AACvB,YAAM,yBAAkD,CAAC;AAEzD,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,SAAS,UAAa,SAAS,MAAM;AACrC,+BAAuB,MAAM,IAAI;AAAA,MACrC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc;AAAe,oBAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAoBA,uBAAuB,OACnB,WACA,SACA,SACA,MACA,eACuB;AACvB,YAAM,yBAAkD,CAAC;AAEzD,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,SAAS,UAAa,SAAS,MAAM;AACrC,+BAAuB,MAAM,IAAI;AAAA,MACrC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc;AAAe,oBAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAoBA,qBAAqB,OACjB,WACA,SACA,SACA,MACA,eACuB;AACvB,YAAM,yBAAkD,CAAC;AAEzD,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,SAAS,UAAa,SAAS,MAAM;AACrC,+BAAuB,MAAM,IAAI;AAAA,MACrC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc;AAAe,oBAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAeA,WAAW,OACP,QACA,OACA,eACuB;AAEvB,wBAAkB,aAAa,UAAU,MAAM;AAE/C,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,UAAU,UAAa,UAAU,MAAM;AACvC,+BAAuB,OAAO,IAAI;AAAA,MACtC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc;AAAe,oBAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAcA,qBAAqB,OAAO,QAAgB,eAA8C;AAEtF,wBAAkB,uBAAuB,UAAU,MAAM;AAEzD,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc;AAAe,oBAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAcA,UAAU,OAAO,QAAgB,eAA8C;AAE3E,wBAAkB,YAAY,UAAU,MAAM;AAE9C,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc;AAAe,oBAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA,EACJ;AACJ;AA0hBO,IAAM,gBAAN,MAAsD;AAAA,EAIzD,YAAY,eAAqC;AAC7C,SAAK,gBAAgB;AACrB,SAAK,4BAA4B,+BAA+B,aAAa;AAAA,EACjF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,kBACT,oBAA8C,CAAC,GACI;AACnD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,0BACT,oBAAsD,CAAC,GACI;AAC3D,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBA,MAAa,wBACT,oBAAoD,CAAC,GACI;AACzD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBA,MAAa,qBACT,oBAAiD,CAAC,GACI;AACtD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBA,MAAa,oBACT,oBAAgD,CAAC,GACI;AACrD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBA,MAAa,uBACT,oBAAmD,CAAC,GACI;AACxD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBA,MAAa,sBACT,oBAAkD,CAAC,GACI;AACvD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBA,MAAa,oBACT,oBAAgD,CAAC,GACI;AACrD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,MAAa,UACT,mBAC2C;AAC3C,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,MAAa,oBACT,mBACqD;AACrD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,MAAa,SACT,mBAC0C;AAC1C,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AACJ;;;AC57CA;AAAA,EAII,qBAAAC;AAAA,EACA,eAAAC;AAAA,OAEG;AAkBP,IAAM,iCAAiC,SAAU,eAAqC;AAClF,SAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAaH,mBAAmB,OAAO,eAA8C;AACpE,YAAM,yBAAkD,CAAC;AAEzD,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc;AAAe,oBAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAoBA,qBAAqB,OACjB,WACA,SACA,SACA,MACA,eACuB;AACvB,YAAM,yBAAkD,CAAC;AAEzD,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,SAAS,UAAa,SAAS,MAAM;AACrC,+BAAuB,MAAM,IAAI;AAAA,MACrC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc;AAAe,oBAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAoBA,wBAAwB,OACpB,WACA,SACA,SACA,MACA,eACuB;AACvB,YAAM,yBAAkD,CAAC;AAEzD,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,SAAS,UAAa,SAAS,MAAM;AACrC,+BAAuB,MAAM,IAAI;AAAA,MACrC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc;AAAe,oBAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAqBA,wBAAwB,OACpB,MACA,WACA,SACA,SACA,MACA,eACuB;AAEvB,MAAAD,mBAAkB,0BAA0B,QAAQ,IAAI;AAExD,YAAM,yBAAkD,CAAC;AAEzD,UAAI,SAAS,UAAa,SAAS,MAAM;AACrC,+BAAuB,MAAM,IAAI;AAAA,MACrC;AAEA,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,SAAS,UAAa,SAAS,MAAM;AACrC,+BAAuB,MAAM,IAAI;AAAA,MACrC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc;AAAe,oBAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAoBA,yBAAyB,OACrB,WACA,SACA,SACA,MACA,eACuB;AACvB,YAAM,yBAAkD,CAAC;AAEzD,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,SAAS,UAAa,SAAS,MAAM;AACrC,+BAAuB,MAAM,IAAI;AAAA,MACrC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc;AAAe,oBAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAoBA,sBAAsB,OAClB,WACA,SACA,SACA,MACA,eACuB;AACvB,YAAM,yBAAkD,CAAC;AAEzD,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,SAAS,UAAa,SAAS,MAAM;AACrC,+BAAuB,MAAM,IAAI;AAAA,MACrC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc;AAAe,oBAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWA,2BAA2B,OAAO,eAA8C;AAC5E,YAAM,yBAAkD,CAAC;AAEzD,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc;AAAe,oBAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAgBA,qBAAqB,OAAO,eAA8C;AACtE,YAAM,yBAAkD,CAAC;AAEzD,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc;AAAe,oBAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAcA,WAAW,OAAO,QAAgB,eAA8C;AAE5E,MAAAA,mBAAkB,aAAa,UAAU,MAAM;AAE/C,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc;AAAe,oBAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWA,mBAAmB,OAAO,eAA8C;AACpE,YAAM,yBAAkD,CAAC;AAEzD,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc;AAAe,oBAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAcA,qBAAqB,OAAO,QAAgB,eAA8C;AAEtF,MAAAA,mBAAkB,uBAAuB,UAAU,MAAM;AAEzD,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc;AAAe,oBAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA,EACJ;AACJ;AAyfO,IAAM,gBAAN,MAAsD;AAAA,EAIzD,YAAY,eAAqC;AAC7C,SAAK,gBAAgB;AACrB,SAAK,4BAA4B,+BAA+B,aAAa;AAAA,EACjF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,MAAa,kBACT,oBAA8C,CAAC,GACI;AACnD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,IACvB;AACA,WAAOC;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBA,MAAa,oBACT,oBAAgD,CAAC,GACI;AACrD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBA,MAAa,uBACT,oBAAmD,CAAC,GACI;AACxD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBA,MAAa,uBACT,mBACwD;AACxD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBA,MAAa,wBACT,oBAAoD,CAAC,GACI;AACzD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBA,MAAa,qBACT,oBAAiD,CAAC,GACI;AACtD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,0BACT,oBAAsD,CAAC,GACI;AAC3D,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBA,MAAa,oBACT,oBAAgD,CAAC,GACI;AACrD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,MAAa,UACT,mBAC2C;AAC3C,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,kBACT,oBAA8C,CAAC,GACI;AACnD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,MAAa,oBACT,mBACqD;AACrD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AACJ;;;ACp3CA,SAAgD,eAAAC,oBAAmB;AA0D5D,IAAM,UAAN,MAAc;AAAA,EAKjB,YAAY,eAAqC;AAC7C,SAAK,gBAAgB;AACrB,SAAK,gBAAgB,IAAI,cAAc,aAAa;AACpD,SAAK,gBAAgB,IAAI,cAAc,aAAa;AAAA,EACxD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,YACI,UACA,QACA,SAAkC,CAAC,GACR;AAC3B,WAAOC,aAAe,KAAK,eAAe,UAAU,QAAQ,QAAQ,MAAS;AAAA,EACjF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,kBACI,UACA,QACA,SAAkC,CAAC,GACR;AAC3B,WAAOA,aAAe,KAAK,eAAe,UAAU,QAAQ,QAAQ,QAAW;AAAA,MAC3E,UAAU;AAAA,IACd,CAAC;AAAA,EACL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,kBACI,oBAA8C,CAAC,GACI;AACnD,WAAO,KAAK,cAAc,kBAAkB,iBAAiB;AAAA,EACjE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,0BACI,oBAAsD,CAAC,GACI;AAC3D,WAAO,KAAK,cAAc,0BAA0B,iBAAiB;AAAA,EACzE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBA,wBACI,oBAAoD,CAAC,GACI;AACzD,WAAO,KAAK,cAAc,wBAAwB,iBAAiB;AAAA,EACvE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBA,qBACI,oBAAiD,CAAC,GACI;AACtD,WAAO,KAAK,cAAc,qBAAqB,iBAAiB;AAAA,EACpE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBA,oBACI,oBAAgD,CAAC,GACI;AACrD,WAAO,KAAK,cAAc,oBAAoB,iBAAiB;AAAA,EACnE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBA,uBACI,oBAAmD,CAAC,GACI;AACxD,WAAO,KAAK,cAAc,uBAAuB,iBAAiB;AAAA,EACtE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBA,sBACI,oBAAkD,CAAC,GACI;AACvD,WAAO,KAAK,cAAc,sBAAsB,iBAAiB;AAAA,EACrE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBA,oBACI,oBAAgD,CAAC,GACI;AACrD,WAAO,KAAK,cAAc,oBAAoB,iBAAiB;AAAA,EACnE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAeA,UAAU,mBAAkF;AACxF,WAAO,KAAK,cAAc,UAAU,iBAAiB;AAAA,EACzD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAeA,oBACI,mBACqD;AACrD,WAAO,KAAK,cAAc,oBAAoB,iBAAiB;AAAA,EACnE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAeA,SAAS,mBAAgF;AACrF,WAAO,KAAK,cAAc,SAAS,iBAAiB;AAAA,EACxD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAeA,kBACI,oBAA8C,CAAC,GACI;AACnD,WAAO,KAAK,cAAc,kBAAkB,iBAAiB;AAAA,EACjE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBA,oBACI,oBAAgD,CAAC,GACI;AACrD,WAAO,KAAK,cAAc,oBAAoB,iBAAiB;AAAA,EACnE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBA,uBACI,oBAAmD,CAAC,GACI;AACxD,WAAO,KAAK,cAAc,uBAAuB,iBAAiB;AAAA,EACtE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBA,uBACI,mBACwD;AACxD,WAAO,KAAK,cAAc,uBAAuB,iBAAiB;AAAA,EACtE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBA,wBACI,oBAAoD,CAAC,GACI;AACzD,WAAO,KAAK,cAAc,wBAAwB,iBAAiB;AAAA,EACvE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBA,qBACI,oBAAiD,CAAC,GACI;AACtD,WAAO,KAAK,cAAc,qBAAqB,iBAAiB;AAAA,EACpE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,0BACI,oBAAsD,CAAC,GACI;AAC3D,WAAO,KAAK,cAAc,0BAA0B,iBAAiB;AAAA,EACzE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBA,oBACI,oBAAgD,CAAC,GACI;AACrD,WAAO,KAAK,cAAc,oBAAoB,iBAAiB;AAAA,EACnE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAeA,UAAU,mBAAkF;AACxF,WAAO,KAAK,cAAc,UAAU,iBAAiB;AAAA,EACzD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,kBACI,oBAA8C,CAAC,GACI;AACnD,WAAO,KAAK,cAAc,kBAAkB,iBAAiB;AAAA,EACjE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAeA,oBACI,mBACqD;AACrD,WAAO,KAAK,cAAc,oBAAoB,iBAAiB;AAAA,EACnE;AACJ;;;ALliBO,IAAM,UAAN,MAAc;AAAA,EAGjB,YAAY,QAA8B;AACtC,QAAI,QAAQ,sBAAsB;AAC9B,YAAM,gBAAgB,IAAIC,sBAAqB,OAAO,oBAAoB;AAC1E,oBAAc,WAAW,cAAc,YAAY;AACnD,oBAAc,cAAc,cAAc,eAAe,CAAC;AAC1D,oBAAc,YAAY,UAAU;AAAA,QAChC,GAAI,cAAc,YAAY,WAAW,CAAC;AAAA,QAC1C,cAAc,GAAG,IAAI,IAAI,OAAO,aAAa,QAAQ,OAAO,KAAK,SAAS,CAAC,KAAK,KAAK,CAAC;AAAA,MAC1F;AACA,WAAK,UAAU,IAAI,QAAQ,aAAa;AAAA,IAC5C;AAAA,EACJ;AACJ;;;AMrBA;AAAA,EACI,6BAAAC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;","names":["ConfigurationRestAPI","assertParamExists","sendRequest","sendRequest","sendRequest","ConfigurationRestAPI","STAKING_REST_API_PROD_URL"]}