@stakekit/widget 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/package/bundle/assets/fees.png +0 -0
- package/dist/package/bundle/assets/powered-by.png +0 -0
- package/dist/package/bundle/assets/what-is-deposit.png +0 -0
- package/dist/package/bundle/assets/what-is-lending.png +0 -0
- package/dist/package/bundle/assets/what-is-liquid-staking.png +0 -0
- package/dist/package/bundle/assets/what-is-staking.png +0 -0
- package/dist/package/bundle/index.bundle.css +2 -0
- package/dist/package/bundle/index.bundle.css.map +7 -0
- package/dist/package/bundle/index.bundle.js +1119 -0
- package/dist/package/bundle/index.bundle.js.map +7 -0
- package/dist/package/chunk-USBWYVY2.js +1953 -0
- package/dist/package/chunk-USBWYVY2.js.map +7 -0
- package/dist/package/index.package.css +3746 -0
- package/dist/package/index.package.css.map +7 -0
- package/dist/package/index.package.js +22541 -0
- package/dist/package/index.package.js.map +7 -0
- package/dist/package/polyfills.js +2 -0
- package/dist/package/polyfills.js.map +7 -0
- package/dist/package/types/src/App.d.ts +15 -0
- package/dist/package/types/src/components/atoms/box/index.d.ts +133 -0
- package/dist/package/types/src/components/atoms/button/button.d.ts +8 -0
- package/dist/package/types/src/components/atoms/button/index.d.ts +1 -0
- package/dist/package/types/src/components/atoms/button/styles.css.d.ts +48 -0
- package/dist/package/types/src/components/atoms/divider/index.d.ts +4 -0
- package/dist/package/types/src/components/atoms/highlight/index.d.ts +6 -0
- package/dist/package/types/src/components/atoms/icons/arrows-left-right.d.ts +1 -0
- package/dist/package/types/src/components/atoms/icons/caret-down.d.ts +1 -0
- package/dist/package/types/src/components/atoms/icons/caret-left.d.ts +1 -0
- package/dist/package/types/src/components/atoms/icons/check-circle.d.ts +4 -0
- package/dist/package/types/src/components/atoms/icons/check-disabled.d.ts +1 -0
- package/dist/package/types/src/components/atoms/icons/check-steps.d.ts +3 -0
- package/dist/package/types/src/components/atoms/icons/check.d.ts +4 -0
- package/dist/package/types/src/components/atoms/icons/circle-notch.d.ts +1 -0
- package/dist/package/types/src/components/atoms/icons/clock-clock-wise.d.ts +1 -0
- package/dist/package/types/src/components/atoms/icons/gift.d.ts +1 -0
- package/dist/package/types/src/components/atoms/icons/help.d.ts +1 -0
- package/dist/package/types/src/components/atoms/icons/index.d.ts +11 -0
- package/dist/package/types/src/components/atoms/icons/search.d.ts +1 -0
- package/dist/package/types/src/components/atoms/icons/x-icon.d.ts +4 -0
- package/dist/package/types/src/components/atoms/image/index.d.ts +6 -0
- package/dist/package/types/src/components/atoms/number-input/index.d.ts +8 -0
- package/dist/package/types/src/components/atoms/number-input/styles.css.d.ts +3 -0
- package/dist/package/types/src/components/atoms/number-input/use-auto-resize-text.d.ts +6 -0
- package/dist/package/types/src/components/atoms/select-modal/index.d.ts +17 -0
- package/dist/package/types/src/components/atoms/select-modal/styles.css.d.ts +7 -0
- package/dist/package/types/src/components/atoms/spinner/index.d.ts +5 -0
- package/dist/package/types/src/components/atoms/spinner/style.css.d.ts +8 -0
- package/dist/package/types/src/components/atoms/token-icon/index.d.ts +8 -0
- package/dist/package/types/src/components/atoms/token-icon/style.css.d.ts +1 -0
- package/dist/package/types/src/components/atoms/typography/heading.d.ts +279 -0
- package/dist/package/types/src/components/atoms/typography/index.d.ts +2 -0
- package/dist/package/types/src/components/atoms/typography/styles.css.d.ts +76 -0
- package/dist/package/types/src/components/atoms/typography/text.d.ts +8 -0
- package/dist/package/types/src/components/index.d.ts +10 -0
- package/dist/package/types/src/components/molecules/header/header.d.ts +1 -0
- package/dist/package/types/src/components/molecules/header/index.d.ts +1 -0
- package/dist/package/types/src/components/molecules/header/styles.css.d.ts +3 -0
- package/dist/package/types/src/components/molecules/help-modal/index.d.ts +7 -0
- package/dist/package/types/src/components/molecules/help-modal/style.css.d.ts +2 -0
- package/dist/package/types/src/components/molecules/reward-token-details/index.d.ts +4 -0
- package/dist/package/types/src/components/molecules/reward-token-details/style.css.d.ts +1 -0
- package/dist/package/types/src/config/index.d.ts +16 -0
- package/dist/package/types/src/domain/index.d.ts +36 -0
- package/dist/package/types/src/domain/types/index.d.ts +4 -0
- package/dist/package/types/src/domain/types/price.d.ts +6 -0
- package/dist/package/types/src/domain/types/tokens.d.ts +2 -0
- package/dist/package/types/src/domain/types/wallet.d.ts +25 -0
- package/dist/package/types/src/domain/types/yields.d.ts +7 -0
- package/dist/package/types/src/hooks/api/use-account-balance.d.ts +5 -0
- package/dist/package/types/src/hooks/api/use-filtered-opportunities.d.ts +3 -0
- package/dist/package/types/src/hooks/api/use-network-gas.d.ts +4 -0
- package/dist/package/types/src/hooks/api/use-opportunities.d.ts +2 -0
- package/dist/package/types/src/hooks/api/use-prices.d.ts +4 -0
- package/dist/package/types/src/hooks/api/use-selected-stake-price.d.ts +6 -0
- package/dist/package/types/src/hooks/api/use-stake-enter-and-txs-construct.d.ts +8 -0
- package/dist/package/types/src/hooks/index.d.ts +6 -0
- package/dist/package/types/src/hooks/use-color-scheme.d.ts +1 -0
- package/dist/package/types/src/hooks/use-debounce.d.ts +1 -0
- package/dist/package/types/src/hooks/use-location-transition-animation/index.d.ts +5 -0
- package/dist/package/types/src/hooks/use-location-transition-animation/style.css.d.ts +2 -0
- package/dist/package/types/src/hooks/use-logout.d.ts +1 -0
- package/dist/package/types/src/hooks/use-previous.d.ts +1 -0
- package/dist/package/types/src/hooks/use-reset-app.d.ts +1 -0
- package/dist/package/types/src/hooks/use-root-element.d.ts +1 -0
- package/dist/package/types/src/hooks/use-saved-ref.d.ts +2 -0
- package/dist/package/types/src/hooks/use-shared-mutation.d.ts +2 -0
- package/dist/package/types/src/hooks/use-sk-wallet.d.ts +2 -0
- package/dist/package/types/src/hooks/use-toggle-theme.d.ts +1 -0
- package/dist/package/types/src/hooks/use-webview-connect-machine.d.ts +72 -0
- package/dist/package/types/src/index.bundle.d.ts +2 -0
- package/dist/package/types/src/index.package.d.ts +3 -0
- package/dist/package/types/src/main.d.ts +1 -0
- package/dist/package/types/src/pages/complete/index.d.ts +1 -0
- package/dist/package/types/src/pages/complete/use-complete.d.ts +13 -0
- package/dist/package/types/src/pages/components/index.d.ts +2 -0
- package/dist/package/types/src/pages/components/layout/index.d.ts +6 -0
- package/dist/package/types/src/pages/components/layout/style.css.d.ts +1 -0
- package/dist/package/types/src/pages/components/page-container.d.ts +2 -0
- package/dist/package/types/src/pages/details/components/footer.d.ts +5 -0
- package/dist/package/types/src/pages/details/components/select-opportunity.d.ts +12 -0
- package/dist/package/types/src/pages/details/components/select-validator.d.ts +7 -0
- package/dist/package/types/src/pages/details/components/styles.css.d.ts +4 -0
- package/dist/package/types/src/pages/details/index.d.ts +1 -0
- package/dist/package/types/src/pages/details/style.css.d.ts +6 -0
- package/dist/package/types/src/pages/details/types.d.ts +9 -0
- package/dist/package/types/src/pages/details/use-details.d.ts +46 -0
- package/dist/package/types/src/pages/index.d.ts +5 -0
- package/dist/package/types/src/pages/positions/index.d.ts +1 -0
- package/dist/package/types/src/pages/positions/styles.css.d.ts +4 -0
- package/dist/package/types/src/pages/positions/use-positions.d.ts +17 -0
- package/dist/package/types/src/pages/review/index.d.ts +1 -0
- package/dist/package/types/src/pages/review/style.css.d.ts +2 -0
- package/dist/package/types/src/pages/review/use-review.d.ts +16 -0
- package/dist/package/types/src/pages/steps/errors.d.ts +18 -0
- package/dist/package/types/src/pages/steps/index.d.ts +1 -0
- package/dist/package/types/src/pages/steps/styles.css.d.ts +5 -0
- package/dist/package/types/src/pages/steps/types.d.ts +14 -0
- package/dist/package/types/src/pages/steps/use-steps-machine.d.ts +344 -0
- package/dist/package/types/src/pages/steps/use-steps.d.ts +17 -0
- package/dist/package/types/src/polyfills.d.ts +1 -0
- package/dist/package/types/src/providers/cosmos/config.d.ts +303 -0
- package/dist/package/types/src/providers/cosmos/provider.d.ts +2 -0
- package/dist/package/types/src/providers/cosmos/wallet-connect/chain-wallet.d.ts +5 -0
- package/dist/package/types/src/providers/cosmos/wallet-connect/client.d.ts +3 -0
- package/dist/package/types/src/providers/cosmos/wallet-connect/index.d.ts +3 -0
- package/dist/package/types/src/providers/cosmos/wallet-connect/main-wallet.d.ts +5 -0
- package/dist/package/types/src/providers/cosmos/wallet-connect/registry.d.ts +2 -0
- package/dist/package/types/src/providers/ethereum/config.d.ts +6 -0
- package/dist/package/types/src/providers/ethereum/provider.d.ts +2 -0
- package/dist/package/types/src/providers/index.d.ts +2 -0
- package/dist/package/types/src/providers/rainbow-kit.d.ts +5 -0
- package/dist/package/types/src/providers/settings.d.ts +10 -0
- package/dist/package/types/src/providers/theme-wrapper.d.ts +8 -0
- package/dist/package/types/src/providers/wagmi/index.d.ts +7 -0
- package/dist/package/types/src/services/query-client.d.ts +2 -0
- package/dist/package/types/src/state/app-state.d.ts +7 -0
- package/dist/package/types/src/state/derived-app-state.d.ts +18 -0
- package/dist/package/types/src/state/index.d.ts +2 -0
- package/dist/package/types/src/state/types.d.ts +34 -0
- package/dist/package/types/src/style.css.d.ts +1 -0
- package/dist/package/types/src/styles/index.d.ts +1 -0
- package/dist/package/types/src/styles/theme/atoms.css.d.ts +124 -0
- package/dist/package/types/src/styles/theme/contract.css.d.ts +668 -0
- package/dist/package/types/src/styles/theme/global.css.d.ts +1 -0
- package/dist/package/types/src/styles/theme/index.d.ts +2 -0
- package/dist/package/types/src/styles/theme/properties.d.ts +472 -0
- package/dist/package/types/src/styles/tokens/breakpoints.d.ts +7 -0
- package/dist/package/types/src/styles/tokens/colors.d.ts +52 -0
- package/dist/package/types/src/styles/tokens/fonts.d.ts +6 -0
- package/dist/package/types/src/styles/tokens/radii.d.ts +17 -0
- package/dist/package/types/src/styles/tokens/space.d.ts +31 -0
- package/dist/package/types/src/styles/tokens/typography.d.ts +77 -0
- package/dist/package/types/src/styles/tokens/z-indices.d.ts +13 -0
- package/dist/package/types/src/translation/index.d.ts +103 -0
- package/dist/package/types/src/types/index.d.ts +1 -0
- package/dist/package/types/src/types/utils.d.ts +5 -0
- package/dist/package/types/src/types/window.d.ts +10 -0
- package/dist/package/types/src/utils/index.d.ts +5 -0
- package/dist/package/types/src/utils/mappers.d.ts +9 -0
- package/package.json +119 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../node_modules/eventemitter3/index.js", "../../../../node_modules/axios/lib/helpers/bind.js", "../../../../node_modules/axios/lib/utils.js", "../../../../node_modules/axios/lib/helpers/buildURL.js", "../../../../node_modules/axios/lib/core/InterceptorManager.js", "../../../../node_modules/axios/lib/helpers/normalizeHeaderName.js", "../../../../node_modules/axios/lib/core/AxiosError.js", "../../../../node_modules/axios/lib/defaults/transitional.js", "../../../../node_modules/axios/lib/helpers/toFormData.js", "../../../../node_modules/axios/lib/core/settle.js", "../../../../node_modules/axios/lib/helpers/cookies.js", "../../../../node_modules/axios/lib/helpers/isAbsoluteURL.js", "../../../../node_modules/axios/lib/helpers/combineURLs.js", "../../../../node_modules/axios/lib/core/buildFullPath.js", "../../../../node_modules/axios/lib/helpers/parseHeaders.js", "../../../../node_modules/axios/lib/helpers/isURLSameOrigin.js", "../../../../node_modules/axios/lib/cancel/CanceledError.js", "../../../../node_modules/axios/lib/helpers/parseProtocol.js", "../../../../node_modules/axios/lib/adapters/xhr.js", "../../../../node_modules/axios/lib/helpers/null.js", "../../../../node_modules/axios/lib/defaults/index.js", "../../../../node_modules/axios/lib/core/transformData.js", "../../../../node_modules/axios/lib/cancel/isCancel.js", "../../../../node_modules/axios/lib/core/dispatchRequest.js", "../../../../node_modules/axios/lib/core/mergeConfig.js", "../../../../node_modules/axios/lib/env/data.js", "../../../../node_modules/axios/lib/helpers/validator.js", "../../../../node_modules/axios/lib/core/Axios.js", "../../../../node_modules/axios/lib/cancel/CancelToken.js", "../../../../node_modules/axios/lib/helpers/spread.js", "../../../../node_modules/axios/lib/helpers/isAxiosError.js", "../../../../node_modules/axios/lib/axios.js", "../../../../node_modules/axios/index.js", "../../../../node_modules/events/events.js", "../../../../node_modules/@walletconnect/keyvaluestorage/node_modules/tslib/tslib.es6.js", "../../../../node_modules/safe-json-utils/src/index.ts", "../../../../node_modules/@walletconnect/keyvaluestorage/src/browser/lib/localStorage.js", "../../../../node_modules/@walletconnect/keyvaluestorage/src/shared/types.ts", "../../../../node_modules/@walletconnect/keyvaluestorage/src/shared/utils.ts", "../../../../node_modules/@walletconnect/keyvaluestorage/src/shared/index.ts", "../../../../node_modules/@walletconnect/keyvaluestorage/src/browser/index.ts", "../../../../node_modules/@walletconnect/heartbeat/node_modules/tslib/tslib.es6.js", "../../../../node_modules/@walletconnect/time/node_modules/tslib/tslib.es6.js", "../../../../node_modules/@walletconnect/time/src/utils/delay.ts", "../../../../node_modules/@walletconnect/time/src/constants/misc.ts", "../../../../node_modules/@walletconnect/time/src/constants/time.ts", "../../../../node_modules/@walletconnect/time/src/constants/index.ts", "../../../../node_modules/@walletconnect/time/src/utils/convert.ts", "../../../../node_modules/@walletconnect/time/src/utils/index.ts", "../../../../node_modules/@walletconnect/time/src/watch.ts", "../../../../node_modules/@walletconnect/time/src/types/watch.ts", "../../../../node_modules/@walletconnect/time/src/types/index.ts", "../../../../node_modules/@walletconnect/time/src/index.ts", "../../../../node_modules/@walletconnect/events/src/events.ts", "../../../../node_modules/@walletconnect/events/src/index.ts", "../../../../node_modules/@walletconnect/heartbeat/src/types/heartbeat.ts", "../../../../node_modules/@walletconnect/heartbeat/src/types/index.ts", "../../../../node_modules/@walletconnect/heartbeat/src/constants/heartbeat.ts", "../../../../node_modules/@walletconnect/heartbeat/src/constants/index.ts", "../../../../node_modules/@walletconnect/heartbeat/src/heartbeat.ts", "../../../../node_modules/@walletconnect/heartbeat/src/index.ts", "../../../../node_modules/@walletconnect/logger/node_modules/tslib/tslib.es6.js", "../../../../node_modules/quick-format-unescaped/index.js", "../../../../node_modules/pino/browser.js", "../../../../node_modules/@walletconnect/logger/src/constants.ts", "../../../../node_modules/@walletconnect/logger/src/utils.ts", "../../../../node_modules/@walletconnect/logger/src/index.ts", "../../../../node_modules/@stablelib/random/source/browser.ts", "../../../../node_modules/@stablelib/wipe/wipe.ts", "../../../../node_modules/@stablelib/random/source/node.ts", "../../../../node_modules/@stablelib/random/source/system.ts", "../../../../node_modules/@stablelib/int/int.ts", "../../../../node_modules/@stablelib/binary/binary.ts", "../../../../node_modules/@stablelib/random/random.ts", "../../../../node_modules/@stablelib/sha512/sha512.ts", "../../../../node_modules/@stablelib/ed25519/ed25519.ts", "../../../../node_modules/@stablelib/chacha/chacha.ts", "../../../../node_modules/@stablelib/constant-time/constant-time.ts", "../../../../node_modules/@stablelib/poly1305/poly1305.ts", "../../../../node_modules/@stablelib/chacha20poly1305/chacha20poly1305.ts", "../../../../node_modules/@stablelib/hash/hash.ts", "../../../../node_modules/@stablelib/hmac/hmac.ts", "../../../../node_modules/@stablelib/hkdf/hkdf.ts", "../../../../node_modules/@stablelib/sha256/sha256.ts", "../../../../node_modules/@stablelib/x25519/x25519.ts", "../../../../node_modules/@walletconnect/window-getters/src/index.ts", "../../../../node_modules/@walletconnect/window-metadata/src/index.ts", "../../../../node_modules/strict-uri-encode/index.js", "../../../../node_modules/decode-uri-component/index.js", "../../../../node_modules/split-on-first/index.js", "../../../../node_modules/filter-obj/index.js", "../../../../node_modules/@cosmos-kit/walletconnect/node_modules/query-string/index.js", "../../../../node_modules/@walletconnect/environment/node_modules/tslib/tslib.es6.js", "../../../../node_modules/@walletconnect/environment/src/crypto.ts", "../../../../node_modules/@walletconnect/environment/src/env.ts", "../../../../node_modules/@walletconnect/environment/src/index.ts", "../../../../node_modules/ws/browser.js", "../../../../node_modules/lodash.isequal/index.js", "../../../../node_modules/long/src/long.js", "../../src/App.tsx", "../../src/translation/index.ts", "../../src/translation/English/translations.json", "../../src/hooks/use-color-scheme.ts", "../../src/hooks/use-toggle-theme.ts", "../../src/styles/theme/contract.css.ts", "../../src/styles/theme/atoms.css.ts", "../../src/hooks/use-saved-ref.ts", "../../src/hooks/use-logout.ts", "../../src/hooks/use-sk-wallet.ts", "../../src/pages/steps/types.ts", "../../src/pages/steps/errors.ts", "../../node_modules/@wagmi/connectors/dist/chunk-QYMCVNHT.js", "../../node_modules/@wagmi/connectors/dist/chunk-ZCAPXGBX.js", "../../node_modules/@wagmi/connectors/dist/chunk-OQILYQDO.js", "../../node_modules/@wagmi/connectors/dist/chunk-QRUHVNWK.js", "../../node_modules/@wagmi/core/dist/chunk-LAFZBYO7.js", "../../src/hooks/use-reset-app.ts", "../../src/state/app-state.tsx", "../../src/domain/index.ts", "../../src/hooks/api/use-opportunities.ts", "../../src/hooks/api/use-filtered-opportunities.ts", "../../src/config/index.ts", "../../src/hooks/api/use-stake-enter-and-txs-construct.ts", "../../src/hooks/use-shared-mutation.ts", "../../src/services/query-client.ts", "../../src/hooks/api/use-network-gas.ts", "../../src/state/derived-app-state.tsx", "../../src/utils/index.ts", "../../src/domain/types/yields.ts", "../../src/hooks/api/use-account-balance.ts", "../../src/hooks/api/use-selected-stake-price.ts", "../../src/utils/mappers.ts", "../../src/hooks/api/use-prices.ts", "../../src/style.css.ts", "../../src/pages/complete/index.tsx", "../../src/components/atoms/box/index.tsx", "../../src/components/atoms/button/styles.css.ts", "../../src/components/atoms/spinner/style.css.ts", "../../src/components/atoms/spinner/index.tsx", "../../src/components/atoms/button/button.tsx", "../../src/components/atoms/divider/index.tsx", "../../src/components/atoms/typography/text.tsx", "../../src/components/atoms/typography/styles.css.ts", "../../src/components/atoms/typography/heading.ts", "../../src/components/molecules/header/header.tsx", "../../src/components/atoms/icons/arrows-left-right.tsx", "../../src/components/atoms/icons/caret-left.tsx", "../../src/components/atoms/icons/check.tsx", "../../src/components/atoms/icons/check-disabled.tsx", "../../src/components/atoms/icons/circle-notch.tsx", "../../src/components/atoms/icons/clock-clock-wise.tsx", "../../src/components/atoms/icons/gift.tsx", "../../src/components/atoms/icons/help.tsx", "../../src/components/atoms/icons/x-icon.tsx", "../../src/components/atoms/icons/caret-down.tsx", "../../src/components/atoms/icons/search.tsx", "../../src/components/molecules/header/styles.css.ts", "../../src/components/molecules/help-modal/index.tsx", "../../src/components/atoms/select-modal/index.tsx", "../../src/components/atoms/select-modal/styles.css.ts", "../../src/hooks/use-root-element.ts", "../../src/components/molecules/help-modal/style.css.ts", "../../src/components/atoms/highlight/index.tsx", "../../src/components/atoms/number-input/index.tsx", "../../src/components/atoms/number-input/styles.css.ts", "../../src/components/atoms/number-input/use-auto-resize-text.ts", "../../src/hooks/use-previous.ts", "../../src/pages/components/layout/index.tsx", "../../src/pages/components/page-container.tsx", "../../src/components/atoms/icons/check-circle.tsx", "../../src/pages/complete/use-complete.ts", "../../src/components/atoms/image/index.tsx", "../../src/components/atoms/token-icon/style.css.ts", "../../src/components/atoms/token-icon/index.tsx", "../../src/pages/details/index.tsx", "../../src/pages/details/use-details.ts", "../../src/pages/details/components/footer.tsx", "../../src/components/molecules/reward-token-details/index.tsx", "../../src/components/molecules/reward-token-details/style.css.ts", "../../src/pages/details/components/select-opportunity.tsx", "../../src/pages/details/components/styles.css.ts", "../../src/pages/details/components/select-validator.tsx", "../../src/pages/details/style.css.ts", "../../src/pages/review/index.tsx", "../../src/pages/review/use-review.ts", "../../src/pages/review/style.css.ts", "../../src/pages/steps/index.tsx", "../../src/pages/steps/use-steps.ts", "../../src/pages/steps/use-steps-machine.ts", "../../node_modules/@cassiozen/usestatemachine/src/types.ts", "../../node_modules/@cassiozen/usestatemachine/src/extras.ts", "../../node_modules/@cassiozen/usestatemachine/src/index.ts", "../../src/components/atoms/icons/check-steps.tsx", "../../src/pages/steps/styles.css.ts", "../../src/hooks/use-webview-connect-machine.ts", "../../src/hooks/use-location-transition-animation/index.ts", "../../src/hooks/use-location-transition-animation/style.css.ts", "../../src/pages/positions/styles.css.ts", "../../src/pages/positions/use-positions.ts", "../../src/pages/positions/index.tsx", "../../src/providers/index.tsx", "../../src/providers/rainbow-kit.tsx", "../../src/providers/settings.tsx", "../../src/providers/wagmi/index.ts", "../../src/providers/ethereum/config.ts", "../../src/providers/cosmos/config.ts", "../../../../node_modules/@cosmos-kit/walletconnect/node_modules/@babel/runtime/helpers/esm/defineProperty.js", "../../../../node_modules/@cosmos-kit/walletconnect/module/chain-wallet.js", "../../../../node_modules/@cosmos-kit/walletconnect/module/client.js", "../../../../node_modules/@walletconnect/safe-json/src/index.ts", "../../../../node_modules/@walletconnect/relay-auth/src/api.ts", "../../../../node_modules/@walletconnect/relay-auth/src/constants.ts", "../../../../node_modules/uint8arrays/esm/src/util/as-uint8array.js", "../../../../node_modules/uint8arrays/esm/src/alloc.js", "../../../../node_modules/uint8arrays/esm/src/concat.js", "../../../../node_modules/multiformats/esm/src/bases/identity.js", "../../../../node_modules/multiformats/esm/vendor/base-x.js", "../../../../node_modules/multiformats/esm/src/bytes.js", "../../../../node_modules/multiformats/esm/src/bases/base.js", "../../../../node_modules/multiformats/esm/src/bases/base2.js", "../../../../node_modules/multiformats/esm/src/bases/base8.js", "../../../../node_modules/multiformats/esm/src/bases/base10.js", "../../../../node_modules/multiformats/esm/src/bases/base16.js", "../../../../node_modules/multiformats/esm/src/bases/base32.js", "../../../../node_modules/multiformats/esm/src/bases/base36.js", "../../../../node_modules/multiformats/esm/src/bases/base58.js", "../../../../node_modules/multiformats/esm/src/bases/base64.js", "../../../../node_modules/multiformats/esm/src/bases/base256emoji.js", "../../../../node_modules/multiformats/esm/src/hashes/sha2-browser.js", "../../../../node_modules/multiformats/esm/vendor/varint.js", "../../../../node_modules/multiformats/esm/src/varint.js", "../../../../node_modules/multiformats/esm/src/hashes/digest.js", "../../../../node_modules/multiformats/esm/src/hashes/hasher.js", "../../../../node_modules/multiformats/esm/src/hashes/identity.js", "../../../../node_modules/multiformats/esm/src/codecs/json.js", "../../../../node_modules/multiformats/esm/src/cid.js", "../../../../node_modules/multiformats/esm/src/basics.js", "../../../../node_modules/uint8arrays/esm/src/util/bases.js", "../../../../node_modules/uint8arrays/esm/src/to-string.js", "../../../../node_modules/uint8arrays/esm/src/from-string.js", "../../../../node_modules/@walletconnect/relay-auth/src/utils.ts", "../../../../node_modules/detect-browser/es/index.js", "../../../../node_modules/@walletconnect/relay-api/src/jsonrpc.ts", "../../../../node_modules/@walletconnect/jsonrpc-provider/src/provider.ts", "../../../../node_modules/@walletconnect/jsonrpc-provider/node_modules/@walletconnect/jsonrpc-utils/src/index.ts", "../../../../node_modules/@walletconnect/jsonrpc-provider/node_modules/@walletconnect/jsonrpc-utils/src/constants.ts", "../../../../node_modules/@walletconnect/jsonrpc-provider/node_modules/@walletconnect/jsonrpc-utils/src/error.ts", "../../../../node_modules/@walletconnect/jsonrpc-provider/node_modules/@walletconnect/jsonrpc-utils/src/env.ts", "../../../../node_modules/@walletconnect/jsonrpc-provider/node_modules/@walletconnect/jsonrpc-utils/src/format.ts", "../../../../node_modules/@walletconnect/jsonrpc-provider/node_modules/@walletconnect/jsonrpc-utils/src/routing.ts", "../../../../node_modules/@walletconnect/jsonrpc-types/src/misc.ts", "../../../../node_modules/@walletconnect/jsonrpc-types/src/provider.ts", "../../../../node_modules/@walletconnect/jsonrpc-provider/node_modules/@walletconnect/jsonrpc-utils/src/url.ts", "../../../../node_modules/@walletconnect/jsonrpc-provider/node_modules/@walletconnect/jsonrpc-utils/src/validators.ts", "../../../../node_modules/@cosmos-kit/walletconnect/node_modules/@walletconnect/jsonrpc-utils/src/index.ts", "../../../../node_modules/@cosmos-kit/walletconnect/node_modules/@walletconnect/jsonrpc-utils/src/constants.ts", "../../../../node_modules/@cosmos-kit/walletconnect/node_modules/@walletconnect/jsonrpc-utils/src/error.ts", "../../../../node_modules/@cosmos-kit/walletconnect/node_modules/@walletconnect/jsonrpc-utils/src/env.ts", "../../../../node_modules/@cosmos-kit/walletconnect/node_modules/@walletconnect/jsonrpc-utils/src/format.ts", "../../../../node_modules/@cosmos-kit/walletconnect/node_modules/@walletconnect/jsonrpc-utils/src/routing.ts", "../../../../node_modules/@cosmos-kit/walletconnect/node_modules/@walletconnect/jsonrpc-utils/src/url.ts", "../../../../node_modules/@cosmos-kit/walletconnect/node_modules/@walletconnect/jsonrpc-utils/src/validators.ts", "../../../../node_modules/@walletconnect/jsonrpc-ws-connection/src/ws.ts", "../../../../node_modules/@walletconnect/jsonrpc-utils/src/index.ts", "../../../../node_modules/@walletconnect/jsonrpc-utils/src/constants.ts", "../../../../node_modules/@walletconnect/jsonrpc-utils/src/error.ts", "../../../../node_modules/@walletconnect/jsonrpc-utils/src/env.ts", "../../../../node_modules/@walletconnect/jsonrpc-utils/src/format.ts", "../../../../node_modules/@walletconnect/jsonrpc-utils/src/routing.ts", "../../../../node_modules/@walletconnect/jsonrpc-utils/node_modules/@walletconnect/jsonrpc-types/src/misc.ts", "../../../../node_modules/@walletconnect/jsonrpc-utils/node_modules/@walletconnect/jsonrpc-types/src/provider.ts", "../../../../node_modules/@walletconnect/jsonrpc-utils/src/url.ts", "../../../../node_modules/@walletconnect/jsonrpc-utils/src/validators.ts", "../../../../node_modules/@walletconnect/jsonrpc-ws-connection/src/index.ts", "../../../../node_modules/@cosmos-kit/walletconnect/module/utils/core.js", "../../../../node_modules/@cosmos-kit/walletconnect/module/main-wallet.js", "../../src/providers/cosmos/wallet-connect/client.ts", "../../src/providers/cosmos/wallet-connect/chain-wallet.ts", "../../src/providers/cosmos/wallet-connect/main-wallet.ts", "../../src/providers/cosmos/wallet-connect/registry.ts", "../../src/providers/ethereum/provider.tsx", "../../src/providers/cosmos/provider.tsx", "../../src/providers/theme-wrapper.tsx"],
|
|
4
|
+
"sourcesContent": ["'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n", "'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n", "'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n// eslint-disable-next-line func-names\nvar kindOf = (function(cache) {\n // eslint-disable-next-line func-names\n return function(thing) {\n var str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n };\n})(Object.create(null));\n\nfunction kindOfTest(type) {\n type = type.toLowerCase();\n return function isKindOf(thing) {\n return kindOf(thing) === type;\n };\n}\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return Array.isArray(val);\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nvar isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nvar isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nvar isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} thing The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(thing) {\n var pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nvar isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n */\n\nfunction inherits(constructor, superConstructor, props, descriptors) {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function} [filter]\n * @returns {Object}\n */\n\nfunction toFlatObject(sourceObj, destObj, filter) {\n var props;\n var i;\n var prop;\n var merged = {};\n\n destObj = destObj || {};\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if (!merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = Object.getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/*\n * determines whether a string ends with the characters of a specified string\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n * @returns {boolean}\n */\nfunction endsWith(str, searchString, position) {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n var lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object\n * @param {*} [thing]\n * @returns {Array}\n */\nfunction toArray(thing) {\n if (!thing) return null;\n var i = thing.length;\n if (isUndefined(i)) return null;\n var arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n// eslint-disable-next-line func-names\nvar isTypedArray = (function(TypedArray) {\n // eslint-disable-next-line func-names\n return function(thing) {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && Object.getPrototypeOf(Uint8Array));\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM,\n inherits: inherits,\n toFlatObject: toFlatObject,\n kindOf: kindOf,\n kindOfTest: kindOfTest,\n endsWith: endsWith,\n toArray: toArray,\n isTypedArray: isTypedArray,\n isFileList: isFileList\n};\n", "'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n", "'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n", "'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n", "'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nvar prototype = AxiosError.prototype;\nvar descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED'\n// eslint-disable-next-line func-names\n].forEach(function(code) {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = function(error, code, config, request, response, customProps) {\n var axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nmodule.exports = AxiosError;\n", "'use strict';\n\nmodule.exports = {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n", "'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Convert a data object to FormData\n * @param {Object} obj\n * @param {?Object} [formData]\n * @returns {Object}\n **/\n\nfunction toFormData(obj, formData) {\n // eslint-disable-next-line no-param-reassign\n formData = formData || new FormData();\n\n var stack = [];\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n function build(data, parentKey) {\n if (utils.isPlainObject(data) || utils.isArray(data)) {\n if (stack.indexOf(data) !== -1) {\n throw Error('Circular reference detected in ' + parentKey);\n }\n\n stack.push(data);\n\n utils.forEach(data, function each(value, key) {\n if (utils.isUndefined(value)) return;\n var fullKey = parentKey ? parentKey + '.' + key : key;\n var arr;\n\n if (value && !parentKey && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (utils.endsWith(key, '[]') && (arr = utils.toArray(value))) {\n // eslint-disable-next-line func-names\n arr.forEach(function(el) {\n !utils.isUndefined(el) && formData.append(fullKey, convertValue(el));\n });\n return;\n }\n }\n\n build(value, fullKey);\n });\n\n stack.pop();\n } else {\n formData.append(parentKey, convertValue(data));\n }\n }\n\n build(obj);\n\n return formData;\n}\n\nmodule.exports = toFormData;\n", "'use strict';\n\nvar AxiosError = require('./AxiosError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n};\n", "'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n", "'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n};\n", "'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n", "'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n", "'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n", "'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n", "'use strict';\n\nvar AxiosError = require('../core/AxiosError');\nvar utils = require('../utils');\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction CanceledError(message) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nmodule.exports = CanceledError;\n", "'use strict';\n\nmodule.exports = function parseProtocol(url) {\n var match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n};\n", "'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar transitionalDefaults = require('../defaults/transitional');\nvar AxiosError = require('../core/AxiosError');\nvar CanceledError = require('../cancel/CanceledError');\nvar parseProtocol = require('../helpers/parseProtocol');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && utils.isStandardBrowserEnv()) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || (cancel && cancel.type) ? new CanceledError() : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n var protocol = parseProtocol(fullPath);\n\n if (protocol && [ 'http', 'https', 'file' ].indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData);\n });\n};\n", "// eslint-disable-next-line strict\nmodule.exports = null;\n", "'use strict';\n\nvar utils = require('../utils');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\nvar AxiosError = require('../core/AxiosError');\nvar transitionalDefaults = require('./transitional');\nvar toFormData = require('../helpers/toFormData');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('../adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('../adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n\n var isObjectPayload = utils.isObject(data);\n var contentType = headers && headers['Content-Type'];\n\n var isFileList;\n\n if ((isFileList = utils.isFileList(data)) || (isObjectPayload && contentType === 'multipart/form-data')) {\n var _FormData = this.env && this.env.FormData;\n return toFormData(isFileList ? {'files[]': data} : data, _FormData && new _FormData());\n } else if (isObjectPayload || contentType === 'application/json') {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: require('./env/FormData')\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n", "'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n", "'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n", "'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar CanceledError = require('../cancel/CanceledError');\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n", "'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'beforeRedirect': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n", "module.exports = {\n \"version\": \"0.27.2\"\n};", "'use strict';\n\nvar VERSION = require('../env/data').version;\nvar AxiosError = require('../core/AxiosError');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n", "'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar buildFullPath = require('./buildFullPath');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n var fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url: url,\n data: data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nmodule.exports = Axios;\n", "'use strict';\n\nvar CanceledError = require('./CanceledError');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n", "'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n", "'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n};\n", "'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = require('./cancel/CanceledError');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\naxios.toFormData = require('./helpers/toFormData');\n\n// Expose AxiosError class\naxios.AxiosError = require('../lib/core/AxiosError');\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n", "module.exports = require('./lib/axios');", "// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n", "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", null, null, null, null, null, null, "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", "'use strict'\nfunction tryStringify (o) {\n try { return JSON.stringify(o) } catch(e) { return '\"[Circular]\"' }\n}\n\nmodule.exports = format\n\nfunction format(f, args, opts) {\n var ss = (opts && opts.stringify) || tryStringify\n var offset = 1\n if (typeof f === 'object' && f !== null) {\n var len = args.length + offset\n if (len === 1) return f\n var objects = new Array(len)\n objects[0] = ss(f)\n for (var index = 1; index < len; index++) {\n objects[index] = ss(args[index])\n }\n return objects.join(' ')\n }\n if (typeof f !== 'string') {\n return f\n }\n var argLen = args.length\n if (argLen === 0) return f\n var str = ''\n var a = 1 - offset\n var lastPos = -1\n var flen = (f && f.length) || 0\n for (var i = 0; i < flen;) {\n if (f.charCodeAt(i) === 37 && i + 1 < flen) {\n lastPos = lastPos > -1 ? lastPos : 0\n switch (f.charCodeAt(i + 1)) {\n case 100: // 'd'\n case 102: // 'f'\n if (a >= argLen)\n break\n if (args[a] == null) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += Number(args[a])\n lastPos = i + 2\n i++\n break\n case 105: // 'i'\n if (a >= argLen)\n break\n if (args[a] == null) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += Math.floor(Number(args[a]))\n lastPos = i + 2\n i++\n break\n case 79: // 'O'\n case 111: // 'o'\n case 106: // 'j'\n if (a >= argLen)\n break\n if (args[a] === undefined) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n var type = typeof args[a]\n if (type === 'string') {\n str += '\\'' + args[a] + '\\''\n lastPos = i + 2\n i++\n break\n }\n if (type === 'function') {\n str += args[a].name || '<anonymous>'\n lastPos = i + 2\n i++\n break\n }\n str += ss(args[a])\n lastPos = i + 2\n i++\n break\n case 115: // 's'\n if (a >= argLen)\n break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += String(args[a])\n lastPos = i + 2\n i++\n break\n case 37: // '%'\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += '%'\n lastPos = i + 2\n i++\n a--\n break\n }\n ++a\n }\n ++i\n }\n if (lastPos === -1)\n return f\n else if (lastPos < flen) {\n str += f.slice(lastPos)\n }\n\n return str\n}\n", "'use strict'\n\nconst format = require('quick-format-unescaped')\n\nmodule.exports = pino\n\nconst _console = pfGlobalThisOrFallback().console || {}\nconst stdSerializers = {\n mapHttpRequest: mock,\n mapHttpResponse: mock,\n wrapRequestSerializer: passthrough,\n wrapResponseSerializer: passthrough,\n wrapErrorSerializer: passthrough,\n req: mock,\n res: mock,\n err: asErrValue\n}\n\nfunction shouldSerialize (serialize, serializers) {\n if (Array.isArray(serialize)) {\n const hasToFilter = serialize.filter(function (k) {\n return k !== '!stdSerializers.err'\n })\n return hasToFilter\n } else if (serialize === true) {\n return Object.keys(serializers)\n }\n\n return false\n}\n\nfunction pino (opts) {\n opts = opts || {}\n opts.browser = opts.browser || {}\n\n const transmit = opts.browser.transmit\n if (transmit && typeof transmit.send !== 'function') { throw Error('pino: transmit option must have a send function') }\n\n const proto = opts.browser.write || _console\n if (opts.browser.write) opts.browser.asObject = true\n const serializers = opts.serializers || {}\n const serialize = shouldSerialize(opts.browser.serialize, serializers)\n let stdErrSerialize = opts.browser.serialize\n\n if (\n Array.isArray(opts.browser.serialize) &&\n opts.browser.serialize.indexOf('!stdSerializers.err') > -1\n ) stdErrSerialize = false\n\n const levels = ['error', 'fatal', 'warn', 'info', 'debug', 'trace']\n\n if (typeof proto === 'function') {\n proto.error = proto.fatal = proto.warn =\n proto.info = proto.debug = proto.trace = proto\n }\n if (opts.enabled === false) opts.level = 'silent'\n const level = opts.level || 'info'\n const logger = Object.create(proto)\n if (!logger.log) logger.log = noop\n\n Object.defineProperty(logger, 'levelVal', {\n get: getLevelVal\n })\n Object.defineProperty(logger, 'level', {\n get: getLevel,\n set: setLevel\n })\n\n const setOpts = {\n transmit,\n serialize,\n asObject: opts.browser.asObject,\n levels,\n timestamp: getTimeFunction(opts)\n }\n logger.levels = pino.levels\n logger.level = level\n\n logger.setMaxListeners = logger.getMaxListeners =\n logger.emit = logger.addListener = logger.on =\n logger.prependListener = logger.once =\n logger.prependOnceListener = logger.removeListener =\n logger.removeAllListeners = logger.listeners =\n logger.listenerCount = logger.eventNames =\n logger.write = logger.flush = noop\n logger.serializers = serializers\n logger._serialize = serialize\n logger._stdErrSerialize = stdErrSerialize\n logger.child = child\n\n if (transmit) logger._logEvent = createLogEventShape()\n\n function getLevelVal () {\n return this.level === 'silent'\n ? Infinity\n : this.levels.values[this.level]\n }\n\n function getLevel () {\n return this._level\n }\n function setLevel (level) {\n if (level !== 'silent' && !this.levels.values[level]) {\n throw Error('unknown level ' + level)\n }\n this._level = level\n\n set(setOpts, logger, 'error', 'log') // <-- must stay first\n set(setOpts, logger, 'fatal', 'error')\n set(setOpts, logger, 'warn', 'error')\n set(setOpts, logger, 'info', 'log')\n set(setOpts, logger, 'debug', 'log')\n set(setOpts, logger, 'trace', 'log')\n }\n\n function child (bindings, childOptions) {\n if (!bindings) {\n throw new Error('missing bindings for child Pino')\n }\n childOptions = childOptions || {}\n if (serialize && bindings.serializers) {\n childOptions.serializers = bindings.serializers\n }\n const childOptionsSerializers = childOptions.serializers\n if (serialize && childOptionsSerializers) {\n var childSerializers = Object.assign({}, serializers, childOptionsSerializers)\n var childSerialize = opts.browser.serialize === true\n ? Object.keys(childSerializers)\n : serialize\n delete bindings.serializers\n applySerializers([bindings], childSerialize, childSerializers, this._stdErrSerialize)\n }\n function Child (parent) {\n this._childLevel = (parent._childLevel | 0) + 1\n this.error = bind(parent, bindings, 'error')\n this.fatal = bind(parent, bindings, 'fatal')\n this.warn = bind(parent, bindings, 'warn')\n this.info = bind(parent, bindings, 'info')\n this.debug = bind(parent, bindings, 'debug')\n this.trace = bind(parent, bindings, 'trace')\n if (childSerializers) {\n this.serializers = childSerializers\n this._serialize = childSerialize\n }\n if (transmit) {\n this._logEvent = createLogEventShape(\n [].concat(parent._logEvent.bindings, bindings)\n )\n }\n }\n Child.prototype = this\n return new Child(this)\n }\n return logger\n}\n\npino.levels = {\n values: {\n fatal: 60,\n error: 50,\n warn: 40,\n info: 30,\n debug: 20,\n trace: 10\n },\n labels: {\n 10: 'trace',\n 20: 'debug',\n 30: 'info',\n 40: 'warn',\n 50: 'error',\n 60: 'fatal'\n }\n}\n\npino.stdSerializers = stdSerializers\npino.stdTimeFunctions = Object.assign({}, { nullTime, epochTime, unixTime, isoTime })\n\nfunction set (opts, logger, level, fallback) {\n const proto = Object.getPrototypeOf(logger)\n logger[level] = logger.levelVal > logger.levels.values[level]\n ? noop\n : (proto[level] ? proto[level] : (_console[level] || _console[fallback] || noop))\n\n wrap(opts, logger, level)\n}\n\nfunction wrap (opts, logger, level) {\n if (!opts.transmit && logger[level] === noop) return\n\n logger[level] = (function (write) {\n return function LOG () {\n const ts = opts.timestamp()\n const args = new Array(arguments.length)\n const proto = (Object.getPrototypeOf && Object.getPrototypeOf(this) === _console) ? _console : this\n for (var i = 0; i < args.length; i++) args[i] = arguments[i]\n\n if (opts.serialize && !opts.asObject) {\n applySerializers(args, this._serialize, this.serializers, this._stdErrSerialize)\n }\n if (opts.asObject) write.call(proto, asObject(this, level, args, ts))\n else write.apply(proto, args)\n\n if (opts.transmit) {\n const transmitLevel = opts.transmit.level || logger.level\n const transmitValue = pino.levels.values[transmitLevel]\n const methodValue = pino.levels.values[level]\n if (methodValue < transmitValue) return\n transmit(this, {\n ts,\n methodLevel: level,\n methodValue,\n transmitLevel,\n transmitValue: pino.levels.values[opts.transmit.level || logger.level],\n send: opts.transmit.send,\n val: logger.levelVal\n }, args)\n }\n }\n })(logger[level])\n}\n\nfunction asObject (logger, level, args, ts) {\n if (logger._serialize) applySerializers(args, logger._serialize, logger.serializers, logger._stdErrSerialize)\n const argsCloned = args.slice()\n let msg = argsCloned[0]\n const o = {}\n if (ts) {\n o.time = ts\n }\n o.level = pino.levels.values[level]\n let lvl = (logger._childLevel | 0) + 1\n if (lvl < 1) lvl = 1\n // deliberate, catching objects, arrays\n if (msg !== null && typeof msg === 'object') {\n while (lvl-- && typeof argsCloned[0] === 'object') {\n Object.assign(o, argsCloned.shift())\n }\n msg = argsCloned.length ? format(argsCloned.shift(), argsCloned) : undefined\n } else if (typeof msg === 'string') msg = format(argsCloned.shift(), argsCloned)\n if (msg !== undefined) o.msg = msg\n return o\n}\n\nfunction applySerializers (args, serialize, serializers, stdErrSerialize) {\n for (const i in args) {\n if (stdErrSerialize && args[i] instanceof Error) {\n args[i] = pino.stdSerializers.err(args[i])\n } else if (typeof args[i] === 'object' && !Array.isArray(args[i])) {\n for (const k in args[i]) {\n if (serialize && serialize.indexOf(k) > -1 && k in serializers) {\n args[i][k] = serializers[k](args[i][k])\n }\n }\n }\n }\n}\n\nfunction bind (parent, bindings, level) {\n return function () {\n const args = new Array(1 + arguments.length)\n args[0] = bindings\n for (var i = 1; i < args.length; i++) {\n args[i] = arguments[i - 1]\n }\n return parent[level].apply(this, args)\n }\n}\n\nfunction transmit (logger, opts, args) {\n const send = opts.send\n const ts = opts.ts\n const methodLevel = opts.methodLevel\n const methodValue = opts.methodValue\n const val = opts.val\n const bindings = logger._logEvent.bindings\n\n applySerializers(\n args,\n logger._serialize || Object.keys(logger.serializers),\n logger.serializers,\n logger._stdErrSerialize === undefined ? true : logger._stdErrSerialize\n )\n logger._logEvent.ts = ts\n logger._logEvent.messages = args.filter(function (arg) {\n // bindings can only be objects, so reference equality check via indexOf is fine\n return bindings.indexOf(arg) === -1\n })\n\n logger._logEvent.level.label = methodLevel\n logger._logEvent.level.value = methodValue\n\n send(methodLevel, logger._logEvent, val)\n\n logger._logEvent = createLogEventShape(bindings)\n}\n\nfunction createLogEventShape (bindings) {\n return {\n ts: 0,\n messages: [],\n bindings: bindings || [],\n level: { label: '', value: 0 }\n }\n}\n\nfunction asErrValue (err) {\n const obj = {\n type: err.constructor.name,\n msg: err.message,\n stack: err.stack\n }\n for (const key in err) {\n if (obj[key] === undefined) {\n obj[key] = err[key]\n }\n }\n return obj\n}\n\nfunction getTimeFunction (opts) {\n if (typeof opts.timestamp === 'function') {\n return opts.timestamp\n }\n if (opts.timestamp === false) {\n return nullTime\n }\n return epochTime\n}\n\nfunction mock () { return {} }\nfunction passthrough (a) { return a }\nfunction noop () {}\n\nfunction nullTime () { return false }\nfunction epochTime () { return Date.now() }\nfunction unixTime () { return Math.round(Date.now() / 1000.0) }\nfunction isoTime () { return new Date(Date.now()).toISOString() } // using Date.now() for testability\n\n/* eslint-disable */\n/* istanbul ignore next */\nfunction pfGlobalThisOrFallback () {\n function defd (o) { return typeof o !== 'undefined' && o }\n try {\n if (typeof globalThis !== 'undefined') return globalThis\n Object.defineProperty(Object.prototype, 'globalThis', {\n get: function () {\n delete Object.prototype.globalThis\n return (this.globalThis = this)\n },\n configurable: true\n })\n return globalThis\n } catch (e) {\n return defd(self) || defd(window) || defd(this) || {}\n }\n}\n/* eslint-enable */\n", null, null, null, "// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\nimport { RandomSource } from \"./\";\n\nconst QUOTA = 65536;\n\nexport class BrowserRandomSource implements RandomSource {\n isAvailable = false;\n isInstantiated = false;\n\n private _crypto?: { getRandomValues: typeof window.crypto.getRandomValues };\n\n constructor() {\n const browserCrypto = typeof self !== 'undefined'\n ? (self.crypto || (self as { msCrypto?: any }).msCrypto) // IE11 has msCrypto\n : null;\n\n if (browserCrypto && browserCrypto.getRandomValues !== undefined) {\n this._crypto = browserCrypto;\n this.isAvailable = true;\n this.isInstantiated = true;\n }\n }\n\n randomBytes(length: number): Uint8Array {\n if (!this.isAvailable || !this._crypto) {\n throw new Error(\"Browser random byte generator is not available.\");\n }\n const out = new Uint8Array(length);\n for (let i = 0; i < out.length; i += QUOTA) {\n this._crypto.getRandomValues(out.subarray(i, i + Math.min(out.length - i, QUOTA)));\n }\n return out;\n }\n}\n", "// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package wipe implements functions for zeroing arrays.\n */\n\nexport type NumericArray = number[] | Uint8Array | Int8Array | Uint16Array\n | Int16Array | Uint32Array | Int32Array | Float32Array | Float64Array;\n\n/**\n * Sets all values in the given array to zero and returns it.\n *\n * The fact that it sets bytes to zero can be relied on.\n *\n * There is no guarantee that this function makes data disappear from memory,\n * as runtime implementation can, for example, have copying garbage collector\n * that will make copies of sensitive data before we wipe it. Or that an\n * operating system will write our data to swap or sleep image. Another thing\n * is that an optimizing compiler can remove calls to this function or make it\n * no-op. There's nothing we can do with it, so we just do our best and hope\n * that everything will be okay and good will triumph over evil.\n */\nexport function wipe(array: NumericArray): NumericArray {\n // Right now it's similar to array.fill(0). If it turns\n // out that runtimes optimize this call away, maybe\n // we can try something else.\n for (let i = 0; i < array.length; i++) {\n array[i] = 0;\n }\n return array;\n}\n", "// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\nimport { RandomSource } from \"./\";\nimport { wipe } from \"@stablelib/wipe\";\n\ndeclare function require(name: string): any;\n\nexport class NodeRandomSource implements RandomSource {\n isAvailable = false;\n isInstantiated = false;\n\n private _crypto: { randomBytes(n: number): Uint8Array } | undefined;\n\n constructor() {\n if (typeof require !== \"undefined\") {\n const nodeCrypto = require(\"crypto\");\n if (nodeCrypto && nodeCrypto.randomBytes) {\n this._crypto = nodeCrypto;\n this.isAvailable = true;\n this.isInstantiated = true;\n }\n }\n }\n\n randomBytes(length: number): Uint8Array {\n if (!this.isAvailable || !this._crypto) {\n throw new Error(\"Node.js random byte generator is not available.\");\n }\n\n // Get random bytes (result is Buffer).\n let buffer = this._crypto.randomBytes(length);\n\n // Make sure we got the length that we requested.\n if (buffer.length !== length) {\n throw new Error(\"NodeRandomSource: got fewer bytes than requested\");\n }\n\n // Allocate output array.\n const out = new Uint8Array(length);\n\n // Copy bytes from buffer to output.\n for (let i = 0; i < out.length; i++) {\n out[i] = buffer[i];\n }\n\n // Cleanup.\n wipe(buffer);\n\n return out;\n }\n}\n", "// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\nimport { RandomSource } from \"./\";\nimport { BrowserRandomSource } from \"./browser\";\nimport { NodeRandomSource } from \"./node\";\n\nexport class SystemRandomSource implements RandomSource {\n isAvailable = false;\n name = \"\";\n private _source: RandomSource;\n\n constructor() {\n // Try browser.\n this._source = new BrowserRandomSource();\n if (this._source.isAvailable) {\n this.isAvailable = true;\n this.name = \"Browser\";\n return;\n }\n\n // If no browser source, try Node.\n this._source = new NodeRandomSource();\n if (this._source.isAvailable) {\n this.isAvailable = true;\n this.name = \"Node\";\n return;\n }\n\n // No sources, we're out of options.\n }\n\n randomBytes(length: number): Uint8Array {\n if (!this.isAvailable) {\n throw new Error(\"System random byte generator is not available.\");\n }\n return this._source.randomBytes(length);\n }\n}\n", "// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package int provides helper functions for integerss.\n */\n\n// Shim using 16-bit pieces.\nfunction imulShim(a: number, b: number): number {\n const ah = (a >>> 16) & 0xffff, al = a & 0xffff;\n const bh = (b >>> 16) & 0xffff, bl = b & 0xffff;\n return ((al * bl) + (((ah * bl + al * bh) << 16) >>> 0) | 0);\n}\n\n/** 32-bit integer multiplication. */\n// Use system Math.imul if available, otherwise use our shim.\nexport const mul = (Math as { imul?(a: number, b: number): number }).imul || imulShim;\n\n/** 32-bit integer addition. */\nexport function add(a: number, b: number): number {\n return (a + b) | 0;\n}\n\n/** 32-bit integer subtraction. */\nexport function sub(a: number, b: number): number {\n return (a - b) | 0;\n}\n\n/** 32-bit integer left rotation */\nexport function rotl(x: number, n: number): number {\n return x << n | x >>> (32 - n);\n}\n\n/** 32-bit integer left rotation */\nexport function rotr(x: number, n: number): number {\n return x << (32 - n) | x >>> n;\n}\n\nfunction isIntegerShim(n: number): boolean {\n return typeof n === \"number\" && isFinite(n) && Math.floor(n) === n;\n}\n\n/**\n * Returns true if the argument is an integer number.\n *\n * In ES2015, Number.isInteger.\n */\nexport const isInteger = (Number as { isInteger?(n: number): boolean }).isInteger || isIntegerShim;\n\n/**\n * Math.pow(2, 53) - 1\n *\n * In ES2015 Number.MAX_SAFE_INTEGER.\n */\nexport const MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Returns true if the argument is a safe integer number\n * (-MIN_SAFE_INTEGER < number <= MAX_SAFE_INTEGER)\n *\n * In ES2015, Number.isSafeInteger.\n */\nexport const isSafeInteger = (n: number): boolean =>\n isInteger(n) && (n >= -MAX_SAFE_INTEGER && n <= MAX_SAFE_INTEGER);\n", "// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package binary provides functions for encoding and decoding numbers in byte arrays.\n */\n\nimport { isSafeInteger } from \"@stablelib/int\";\n\n// TODO(dchest): add asserts for correct value ranges and array offsets.\n\n/**\n * Reads 2 bytes from array starting at offset as big-endian\n * signed 16-bit integer and returns it.\n */\nexport function readInt16BE(array: Uint8Array, offset = 0): number {\n return (((array[offset + 0] << 8) | array[offset + 1]) << 16) >> 16;\n}\n\n/**\n * Reads 2 bytes from array starting at offset as big-endian\n * unsigned 16-bit integer and returns it.\n */\nexport function readUint16BE(array: Uint8Array, offset = 0): number {\n return ((array[offset + 0] << 8) | array[offset + 1]) >>> 0;\n}\n\n/**\n * Reads 2 bytes from array starting at offset as little-endian\n * signed 16-bit integer and returns it.\n */\nexport function readInt16LE(array: Uint8Array, offset = 0): number {\n return (((array[offset + 1] << 8) | array[offset]) << 16) >> 16;\n}\n\n/**\n * Reads 2 bytes from array starting at offset as little-endian\n * unsigned 16-bit integer and returns it.\n */\nexport function readUint16LE(array: Uint8Array, offset = 0): number {\n return ((array[offset + 1] << 8) | array[offset]) >>> 0;\n}\n\n/**\n * Writes 2-byte big-endian representation of 16-bit unsigned\n * value to byte array starting at offset.\n *\n * If byte array is not given, creates a new 2-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeUint16BE(value: number, out = new Uint8Array(2), offset = 0): Uint8Array {\n out[offset + 0] = value >>> 8;\n out[offset + 1] = value >>> 0;\n return out;\n}\n\nexport const writeInt16BE = writeUint16BE;\n\n/**\n * Writes 2-byte little-endian representation of 16-bit unsigned\n * value to array starting at offset.\n *\n * If byte array is not given, creates a new 2-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeUint16LE(value: number, out = new Uint8Array(2), offset = 0): Uint8Array {\n out[offset + 0] = value >>> 0;\n out[offset + 1] = value >>> 8;\n return out;\n}\n\nexport const writeInt16LE = writeUint16LE;\n\n/**\n * Reads 4 bytes from array starting at offset as big-endian\n * signed 32-bit integer and returns it.\n */\nexport function readInt32BE(array: Uint8Array, offset = 0): number {\n return (array[offset] << 24) |\n (array[offset + 1] << 16) |\n (array[offset + 2] << 8) |\n array[offset + 3];\n}\n\n/**\n * Reads 4 bytes from array starting at offset as big-endian\n * unsigned 32-bit integer and returns it.\n */\nexport function readUint32BE(array: Uint8Array, offset = 0): number {\n return ((array[offset] << 24) |\n (array[offset + 1] << 16) |\n (array[offset + 2] << 8) |\n array[offset + 3]) >>> 0;\n}\n\n/**\n * Reads 4 bytes from array starting at offset as little-endian\n * signed 32-bit integer and returns it.\n */\nexport function readInt32LE(array: Uint8Array, offset = 0): number {\n return (array[offset + 3] << 24) |\n (array[offset + 2] << 16) |\n (array[offset + 1] << 8) |\n array[offset];\n}\n\n/**\n * Reads 4 bytes from array starting at offset as little-endian\n * unsigned 32-bit integer and returns it.\n */\nexport function readUint32LE(array: Uint8Array, offset = 0): number {\n return ((array[offset + 3] << 24) |\n (array[offset + 2] << 16) |\n (array[offset + 1] << 8) |\n array[offset]) >>> 0;\n}\n\n/**\n * Writes 4-byte big-endian representation of 32-bit unsigned\n * value to byte array starting at offset.\n *\n * If byte array is not given, creates a new 4-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeUint32BE(value: number, out = new Uint8Array(4), offset = 0): Uint8Array {\n out[offset + 0] = value >>> 24;\n out[offset + 1] = value >>> 16;\n out[offset + 2] = value >>> 8;\n out[offset + 3] = value >>> 0;\n return out;\n}\n\nexport const writeInt32BE = writeUint32BE;\n\n/**\n * Writes 4-byte little-endian representation of 32-bit unsigned\n * value to array starting at offset.\n *\n * If byte array is not given, creates a new 4-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeUint32LE(value: number, out = new Uint8Array(4), offset = 0): Uint8Array {\n out[offset + 0] = value >>> 0;\n out[offset + 1] = value >>> 8;\n out[offset + 2] = value >>> 16;\n out[offset + 3] = value >>> 24;\n return out;\n}\n\n\nexport const writeInt32LE = writeUint32LE;\n\n/**\n * Reads 8 bytes from array starting at offset as big-endian\n * signed 64-bit integer and returns it.\n *\n * IMPORTANT: due to JavaScript limitation, supports exact\n * numbers in range -9007199254740991 to 9007199254740991.\n * If the number stored in the byte array is outside this range,\n * the result is not exact.\n */\nexport function readInt64BE(array: Uint8Array, offset = 0): number {\n const hi = readInt32BE(array, offset);\n const lo = readInt32BE(array, offset + 4);\n return hi * 0x100000000 + lo - ((lo>>31) * 0x100000000);\n}\n\n/**\n * Reads 8 bytes from array starting at offset as big-endian\n * unsigned 64-bit integer and returns it.\n *\n * IMPORTANT: due to JavaScript limitation, supports values up to 2^53-1.\n */\nexport function readUint64BE(array: Uint8Array, offset = 0): number {\n const hi = readUint32BE(array, offset);\n const lo = readUint32BE(array, offset + 4);\n return hi * 0x100000000 + lo;\n}\n\n/**\n * Reads 8 bytes from array starting at offset as little-endian\n * signed 64-bit integer and returns it.\n *\n * IMPORTANT: due to JavaScript limitation, supports exact\n * numbers in range -9007199254740991 to 9007199254740991.\n * If the number stored in the byte array is outside this range,\n * the result is not exact.\n */\nexport function readInt64LE(array: Uint8Array, offset = 0): number {\n const lo = readInt32LE(array, offset);\n const hi = readInt32LE(array, offset + 4);\n return hi * 0x100000000 + lo - ((lo>>31) * 0x100000000);\n}\n\n\n/**\n * Reads 8 bytes from array starting at offset as little-endian\n * unsigned 64-bit integer and returns it.\n *\n * IMPORTANT: due to JavaScript limitation, supports values up to 2^53-1.\n */\nexport function readUint64LE(array: Uint8Array, offset = 0): number {\n const lo = readUint32LE(array, offset);\n const hi = readUint32LE(array, offset + 4);\n return hi * 0x100000000 + lo;\n}\n\n/**\n * Writes 8-byte big-endian representation of 64-bit unsigned\n * value to byte array starting at offset.\n *\n * Due to JavaScript limitation, supports values up to 2^53-1.\n *\n * If byte array is not given, creates a new 8-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeUint64BE(value: number, out = new Uint8Array(8), offset = 0): Uint8Array {\n writeUint32BE(value / 0x100000000 >>> 0, out, offset);\n writeUint32BE(value >>> 0, out, offset + 4);\n return out;\n}\n\nexport const writeInt64BE = writeUint64BE;\n\n/**\n * Writes 8-byte little-endian representation of 64-bit unsigned\n * value to byte array starting at offset.\n *\n * Due to JavaScript limitation, supports values up to 2^53-1.\n *\n * If byte array is not given, creates a new 8-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeUint64LE(value: number, out = new Uint8Array(8), offset = 0): Uint8Array {\n writeUint32LE(value >>> 0, out, offset);\n writeUint32LE(value / 0x100000000 >>> 0, out, offset + 4);\n return out;\n}\n\nexport const writeInt64LE = writeUint64LE;\n\n/**\n * Reads bytes from array starting at offset as big-endian\n * unsigned bitLen-bit integer and returns it.\n *\n * Supports bit lengths divisible by 8, up to 48.\n */\nexport function readUintBE(bitLength: number, array: Uint8Array, offset = 0): number {\n // TODO(dchest): implement support for bitLengths non-divisible by 8\n if (bitLength % 8 !== 0) {\n throw new Error(\"readUintBE supports only bitLengths divisible by 8\");\n }\n if (bitLength / 8 > array.length - offset) {\n throw new Error(\"readUintBE: array is too short for the given bitLength\");\n }\n let result = 0;\n let mul = 1;\n for (let i = bitLength / 8 + offset - 1; i >= offset; i--) {\n result += array[i] * mul;\n mul *= 256;\n }\n return result;\n}\n\n/**\n * Reads bytes from array starting at offset as little-endian\n * unsigned bitLen-bit integer and returns it.\n *\n * Supports bit lengths divisible by 8, up to 48.\n */\nexport function readUintLE(bitLength: number, array: Uint8Array, offset = 0): number {\n // TODO(dchest): implement support for bitLengths non-divisible by 8\n if (bitLength % 8 !== 0) {\n throw new Error(\"readUintLE supports only bitLengths divisible by 8\");\n }\n if (bitLength / 8 > array.length - offset) {\n throw new Error(\"readUintLE: array is too short for the given bitLength\");\n }\n let result = 0;\n let mul = 1;\n for (let i = offset; i < offset + bitLength / 8; i++) {\n result += array[i] * mul;\n mul *= 256;\n }\n return result;\n}\n\n/**\n * Writes a big-endian representation of bitLen-bit unsigned\n * value to array starting at offset.\n *\n * Supports bit lengths divisible by 8, up to 48.\n *\n * If byte array is not given, creates a new one.\n *\n * Returns the output byte array.\n */\nexport function writeUintBE(bitLength: number, value: number,\n out = new Uint8Array(bitLength / 8), offset = 0): Uint8Array {\n // TODO(dchest): implement support for bitLengths non-divisible by 8\n if (bitLength % 8 !== 0) {\n throw new Error(\"writeUintBE supports only bitLengths divisible by 8\");\n }\n if (!isSafeInteger(value)) {\n throw new Error(\"writeUintBE value must be an integer\");\n }\n let div = 1;\n for (let i = bitLength / 8 + offset - 1; i >= offset; i--) {\n out[i] = (value / div) & 0xff;\n div *= 256;\n }\n return out;\n}\n\n/**\n * Writes a little-endian representation of bitLen-bit unsigned\n * value to array starting at offset.\n *\n * Supports bit lengths divisible by 8, up to 48.\n *\n * If byte array is not given, creates a new one.\n *\n * Returns the output byte array.\n */\nexport function writeUintLE(bitLength: number, value: number,\n out = new Uint8Array(bitLength / 8), offset = 0): Uint8Array {\n // TODO(dchest): implement support for bitLengths non-divisible by 8\n if (bitLength % 8 !== 0) {\n throw new Error(\"writeUintLE supports only bitLengths divisible by 8\");\n }\n if (!isSafeInteger(value)) {\n throw new Error(\"writeUintLE value must be an integer\");\n }\n let div = 1;\n for (let i = offset; i < offset + bitLength / 8; i++) {\n out[i] = (value / div) & 0xff;\n div *= 256;\n }\n return out;\n}\n\n/**\n * Reads 4 bytes from array starting at offset as big-endian\n * 32-bit floating-point number and returns it.\n */\nexport function readFloat32BE(array: Uint8Array, offset = 0): number {\n const view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat32(offset);\n}\n\n/**\n * Reads 4 bytes from array starting at offset as little-endian\n * 32-bit floating-point number and returns it.\n */\nexport function readFloat32LE(array: Uint8Array, offset = 0): number {\n const view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat32(offset, true);\n}\n\n/**\n * Reads 8 bytes from array starting at offset as big-endian\n * 64-bit floating-point number (\"double\") and returns it.\n */\nexport function readFloat64BE(array: Uint8Array, offset = 0): number {\n const view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat64(offset);\n}\n\n/**\n * Reads 8 bytes from array starting at offset as little-endian\n * 64-bit floating-point number (\"double\") and returns it.\n */\nexport function readFloat64LE(array: Uint8Array, offset = 0): number {\n const view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat64(offset, true);\n}\n\n/**\n * Writes 4-byte big-endian floating-point representation of value\n * to byte array starting at offset.\n *\n * If byte array is not given, creates a new 4-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeFloat32BE(value: number, out = new Uint8Array(4), offset = 0): Uint8Array {\n const view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat32(offset, value);\n return out;\n}\n\n/**\n * Writes 4-byte little-endian floating-point representation of value\n * to byte array starting at offset.\n *\n * If byte array is not given, creates a new 4-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeFloat32LE(value: number, out = new Uint8Array(4), offset = 0): Uint8Array {\n const view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat32(offset, value, true);\n return out;\n}\n\n/**\n * Writes 8-byte big-endian floating-point representation of value\n * to byte array starting at offset.\n *\n * If byte array is not given, creates a new 8-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeFloat64BE(value: number, out = new Uint8Array(8), offset = 0): Uint8Array {\n const view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat64(offset, value);\n return out;\n}\n\n/**\n * Writes 8-byte little-endian floating-point representation of value\n * to byte array starting at offset.\n *\n * If byte array is not given, creates a new 8-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeFloat64LE(value: number, out = new Uint8Array(8), offset = 0): Uint8Array {\n const view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat64(offset, value, true);\n return out;\n}\n", "// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package random provides functions to access system's\n * cryptographically secure random byte generator.\n */\n\nimport { RandomSource } from \"./source\";\nimport { SystemRandomSource } from \"./source/system\";\nimport { readUint32LE } from \"@stablelib/binary\";\nimport { wipe } from \"@stablelib/wipe\";\n\nexport { RandomSource } from \"./source\";\n\nexport const defaultRandomSource = new SystemRandomSource();\n\nexport function randomBytes(length: number, prng: RandomSource = defaultRandomSource): Uint8Array {\n return prng.randomBytes(length);\n}\n\n/**\n * Returns a uniformly random unsigned 32-bit integer.\n */\nexport function randomUint32(prng: RandomSource = defaultRandomSource): number {\n // Generate 4-byte random buffer.\n const buf = randomBytes(4, prng);\n\n // Convert bytes from buffer into a 32-bit integer.\n // It's not important which byte order to use, since\n // the result is random.\n const result = readUint32LE(buf);\n\n // Clean the buffer.\n wipe(buf);\n\n return result;\n}\n\n/** 62 alphanumeric characters for default charset of randomString() */\nconst ALPHANUMERIC = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";\n\n/**\n * Returns a uniform random string of the given length\n * with characters from the given charset.\n *\n * Charset must not have more than 256 characters.\n *\n * Default charset generates case-sensitive alphanumeric\n * strings (0-9, A-Z, a-z).\n */\nexport function randomString(\n length: number,\n charset = ALPHANUMERIC,\n prng: RandomSource = defaultRandomSource\n): string {\n if (charset.length < 2) {\n throw new Error(\"randomString charset is too short\");\n }\n if (charset.length > 256) {\n throw new Error(\"randomString charset is too long\");\n }\n let out = '';\n const charsLen = charset.length;\n const maxByte = 256 - (256 % charsLen);\n while (length > 0) {\n const buf = randomBytes(Math.ceil(length * 256 / maxByte), prng);\n for (let i = 0; i < buf.length && length > 0; i++) {\n const randomByte = buf[i];\n if (randomByte < maxByte) {\n out += charset.charAt(randomByte % charsLen);\n length--;\n }\n }\n wipe(buf);\n }\n return out;\n}\n\n/**\n * Returns uniform random string containing at least the given\n * number of bits of entropy.\n *\n * For example, randomStringForEntropy(128) will return a 22-character\n * alphanumeric string, while randomStringForEntropy(128, \"0123456789\")\n * will return a 39-character numeric string, both will contain at\n * least 128 bits of entropy.\n *\n * Default charset generates case-sensitive alphanumeric\n * strings (0-9, A-Z, a-z).\n */\nexport function randomStringForEntropy(\n bits: number,\n charset = ALPHANUMERIC,\n prng: RandomSource = defaultRandomSource\n): string {\n const length = Math.ceil(bits / (Math.log(charset.length) / Math.LN2));\n return randomString(length, charset, prng);\n}\n", "// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package sha512 implements SHA-2-512 cryptographic hash function.\n */\n\nimport { SerializableHash } from \"@stablelib/hash\";\nimport { readUint32BE, writeUint32BE } from \"@stablelib/binary\";\nimport { wipe } from \"@stablelib/wipe\";\n\nexport const DIGEST_LENGTH = 64;\nexport const BLOCK_SIZE = 128;\n\n/**\n * SHA-2-512 cryptographic hash algorithm.\n */\nexport class SHA512 implements SerializableHash {\n /** Length of hash output */\n readonly digestLength: number = DIGEST_LENGTH;\n\n /** Block size */\n readonly blockSize: number = BLOCK_SIZE;\n\n // Note: Int32Array is used instead of Uint32Array for performance reasons.\n protected _stateHi = new Int32Array(8); // hash state, high bytes\n protected _stateLo = new Int32Array(8); // hash state, low bytes\n private _tempHi = new Int32Array(16); // temporary state, high bytes\n private _tempLo = new Int32Array(16); // temporary state, low bytes\n private _buffer = new Uint8Array(256); // buffer for data to hash\n private _bufferLength = 0; // number of bytes in buffer\n private _bytesHashed = 0; // number of total bytes hashed\n private _finished = false; // indicates whether the hash was finalized\n\n constructor() {\n this.reset();\n }\n\n protected _initState() {\n this._stateHi[0] = 0x6a09e667;\n this._stateHi[1] = 0xbb67ae85;\n this._stateHi[2] = 0x3c6ef372;\n this._stateHi[3] = 0xa54ff53a;\n this._stateHi[4] = 0x510e527f;\n this._stateHi[5] = 0x9b05688c;\n this._stateHi[6] = 0x1f83d9ab;\n this._stateHi[7] = 0x5be0cd19;\n\n this._stateLo[0] = 0xf3bcc908;\n this._stateLo[1] = 0x84caa73b;\n this._stateLo[2] = 0xfe94f82b;\n this._stateLo[3] = 0x5f1d36f1;\n this._stateLo[4] = 0xade682d1;\n this._stateLo[5] = 0x2b3e6c1f;\n this._stateLo[6] = 0xfb41bd6b;\n this._stateLo[7] = 0x137e2179;\n }\n\n /**\n * Resets hash state making it possible\n * to re-use this instance to hash other data.\n */\n reset(): this {\n this._initState();\n this._bufferLength = 0;\n this._bytesHashed = 0;\n this._finished = false;\n return this;\n }\n\n /**\n * Cleans internal buffers and resets hash state.\n */\n clean() {\n wipe(this._buffer);\n wipe(this._tempHi);\n wipe(this._tempLo);\n this.reset();\n }\n\n /**\n * Updates hash state with the given data.\n *\n * Throws error when trying to update already finalized hash:\n * instance must be reset to update it again.\n */\n update(data: Uint8Array, dataLength: number = data.length): this {\n if (this._finished) {\n throw new Error(\"SHA512: can't update because hash was finished.\");\n }\n let dataPos = 0;\n this._bytesHashed += dataLength;\n if (this._bufferLength > 0) {\n while (this._bufferLength < BLOCK_SIZE && dataLength > 0) {\n this._buffer[this._bufferLength++] = data[dataPos++];\n dataLength--;\n }\n if (this._bufferLength === this.blockSize) {\n hashBlocks(this._tempHi, this._tempLo, this._stateHi, this._stateLo,\n this._buffer, 0, this.blockSize);\n this._bufferLength = 0;\n }\n }\n if (dataLength >= this.blockSize) {\n dataPos = hashBlocks(this._tempHi, this._tempLo, this._stateHi, this._stateLo,\n data, dataPos, dataLength);\n dataLength %= this.blockSize;\n }\n while (dataLength > 0) {\n this._buffer[this._bufferLength++] = data[dataPos++];\n dataLength--;\n }\n return this;\n }\n\n /**\n * Finalizes hash state and puts hash into out.\n * If hash was already finalized, puts the same value.\n */\n finish(out: Uint8Array): this {\n if (!this._finished) {\n const bytesHashed = this._bytesHashed;\n const left = this._bufferLength;\n const bitLenHi = (bytesHashed / 0x20000000) | 0;\n const bitLenLo = bytesHashed << 3;\n const padLength = (bytesHashed % 128 < 112) ? 128 : 256;\n\n this._buffer[left] = 0x80;\n for (let i = left + 1; i < padLength - 8; i++) {\n this._buffer[i] = 0;\n }\n writeUint32BE(bitLenHi, this._buffer, padLength - 8);\n writeUint32BE(bitLenLo, this._buffer, padLength - 4);\n\n hashBlocks(this._tempHi, this._tempLo, this._stateHi, this._stateLo, this._buffer, 0, padLength);\n\n this._finished = true;\n }\n\n for (let i = 0; i < this.digestLength / 8; i++) {\n writeUint32BE(this._stateHi[i], out, i * 8);\n writeUint32BE(this._stateLo[i], out, i * 8 + 4);\n }\n\n return this;\n }\n\n /**\n * Returns the final hash digest.\n */\n digest(): Uint8Array {\n const out = new Uint8Array(this.digestLength);\n this.finish(out);\n return out;\n }\n\n /**\n * Function useful for HMAC/PBKDF2 optimization. Returns hash state to be\n * used with restoreState(). Only chain value is saved, not buffers or\n * other state variables.\n */\n saveState(): SavedState {\n if (this._finished) {\n throw new Error(\"SHA256: cannot save finished state\");\n }\n return {\n stateHi: new Int32Array(this._stateHi),\n stateLo: new Int32Array(this._stateLo),\n buffer: this._bufferLength > 0 ? new Uint8Array(this._buffer) : undefined,\n bufferLength: this._bufferLength,\n bytesHashed: this._bytesHashed\n };\n }\n\n /**\n * Function useful for HMAC/PBKDF2 optimization. Restores state saved by\n * saveState() and sets bytesHashed to the given value.\n */\n restoreState(savedState: SavedState): this {\n this._stateHi.set(savedState.stateHi);\n this._stateLo.set(savedState.stateLo);\n this._bufferLength = savedState.bufferLength;\n if (savedState.buffer) {\n this._buffer.set(savedState.buffer);\n }\n this._bytesHashed = savedState.bytesHashed;\n this._finished = false;\n return this;\n }\n\n /**\n * Cleans state returned by saveState().\n */\n cleanSavedState(savedState: SavedState) {\n wipe(savedState.stateHi);\n wipe(savedState.stateLo);\n if (savedState.buffer) {\n wipe(savedState.buffer);\n }\n savedState.bufferLength = 0;\n savedState.bytesHashed = 0;\n }\n}\n\nexport type SavedState = {\n stateHi: Int32Array;\n stateLo: Int32Array;\n buffer: Uint8Array | undefined;\n bufferLength: number;\n bytesHashed: number;\n};\n\n// Constants\nconst K = new Int32Array([\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n]);\n\n\nfunction hashBlocks(wh: Int32Array, wl: Int32Array, hh: Int32Array, hl: Int32Array,\n m: Uint8Array, pos: number, len: number): number {\n\n let ah0 = hh[0],\n ah1 = hh[1],\n ah2 = hh[2],\n ah3 = hh[3],\n ah4 = hh[4],\n ah5 = hh[5],\n ah6 = hh[6],\n ah7 = hh[7],\n\n al0 = hl[0],\n al1 = hl[1],\n al2 = hl[2],\n al3 = hl[3],\n al4 = hl[4],\n al5 = hl[5],\n al6 = hl[6],\n al7 = hl[7];\n\n let h: number, l: number;\n let th: number, tl: number;\n let a: number, b: number, c: number, d: number;\n\n while (len >= 128) {\n for (let i = 0; i < 16; i++) {\n const j = 8 * i + pos;\n wh[i] = readUint32BE(m, j);\n wl[i] = readUint32BE(m, j + 4);\n }\n for (let i = 0; i < 80; i++) {\n let bh0 = ah0;\n let bh1 = ah1;\n let bh2 = ah2;\n let bh3 = ah3;\n let bh4 = ah4;\n let bh5 = ah5;\n let bh6 = ah6;\n let bh7 = ah7;\n\n let bl0 = al0;\n let bl1 = al1;\n let bl2 = al2;\n let bl3 = al3;\n let bl4 = al4;\n let bl5 = al5;\n let bl6 = al6;\n let bl7 = al7;\n\n // add\n h = ah7;\n l = al7;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n // Sigma1\n h = ((ah4 >>> 14) | (al4 << (32 - 14))) ^ ((ah4 >>> 18) |\n (al4 << (32 - 18))) ^ ((al4 >>> (41 - 32)) | (ah4 << (32 - (41 - 32))));\n l = ((al4 >>> 14) | (ah4 << (32 - 14))) ^ ((al4 >>> 18) |\n (ah4 << (32 - 18))) ^ ((ah4 >>> (41 - 32)) | (al4 << (32 - (41 - 32))));\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // Ch\n h = (ah4 & ah5) ^ (~ah4 & ah6);\n l = (al4 & al5) ^ (~al4 & al6);\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // K\n h = K[i * 2];\n l = K[i * 2 + 1];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // w\n h = wh[i % 16];\n l = wl[i % 16];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n th = c & 0xffff | d << 16;\n tl = a & 0xffff | b << 16;\n\n // add\n h = th;\n l = tl;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n // Sigma0\n h = ((ah0 >>> 28) | (al0 << (32 - 28))) ^ ((al0 >>> (34 - 32)) |\n (ah0 << (32 - (34 - 32)))) ^ ((al0 >>> (39 - 32)) | (ah0 << (32 - (39 - 32))));\n l = ((al0 >>> 28) | (ah0 << (32 - 28))) ^ ((ah0 >>> (34 - 32)) |\n (al0 << (32 - (34 - 32)))) ^ ((ah0 >>> (39 - 32)) | (al0 << (32 - (39 - 32))));\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // Maj\n h = (ah0 & ah1) ^ (ah0 & ah2) ^ (ah1 & ah2);\n l = (al0 & al1) ^ (al0 & al2) ^ (al1 & al2);\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n bh7 = (c & 0xffff) | (d << 16);\n bl7 = (a & 0xffff) | (b << 16);\n\n // add\n h = bh3;\n l = bl3;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = th;\n l = tl;\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n bh3 = (c & 0xffff) | (d << 16);\n bl3 = (a & 0xffff) | (b << 16);\n\n ah1 = bh0;\n ah2 = bh1;\n ah3 = bh2;\n ah4 = bh3;\n ah5 = bh4;\n ah6 = bh5;\n ah7 = bh6;\n ah0 = bh7;\n\n al1 = bl0;\n al2 = bl1;\n al3 = bl2;\n al4 = bl3;\n al5 = bl4;\n al6 = bl5;\n al7 = bl6;\n al0 = bl7;\n\n if (i % 16 === 15) {\n for (let j = 0; j < 16; j++) {\n // add\n h = wh[j];\n l = wl[j];\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = wh[(j + 9) % 16];\n l = wl[(j + 9) % 16];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // sigma0\n th = wh[(j + 1) % 16];\n tl = wl[(j + 1) % 16];\n h = ((th >>> 1) | (tl << (32 - 1))) ^ ((th >>> 8) |\n (tl << (32 - 8))) ^ (th >>> 7);\n l = ((tl >>> 1) | (th << (32 - 1))) ^ ((tl >>> 8) |\n (th << (32 - 8))) ^ ((tl >>> 7) | (th << (32 - 7)));\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // sigma1\n th = wh[(j + 14) % 16];\n tl = wl[(j + 14) % 16];\n h = ((th >>> 19) | (tl << (32 - 19))) ^ ((tl >>> (61 - 32)) |\n (th << (32 - (61 - 32)))) ^ (th >>> 6);\n l = ((tl >>> 19) | (th << (32 - 19))) ^ ((th >>> (61 - 32)) |\n (tl << (32 - (61 - 32)))) ^ ((tl >>> 6) | (th << (32 - 6)));\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n wh[j] = (c & 0xffff) | (d << 16);\n wl[j] = (a & 0xffff) | (b << 16);\n }\n }\n }\n\n // add\n h = ah0;\n l = al0;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[0];\n l = hl[0];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[0] = ah0 = (c & 0xffff) | (d << 16);\n hl[0] = al0 = (a & 0xffff) | (b << 16);\n\n h = ah1;\n l = al1;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[1];\n l = hl[1];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[1] = ah1 = (c & 0xffff) | (d << 16);\n hl[1] = al1 = (a & 0xffff) | (b << 16);\n\n h = ah2;\n l = al2;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[2];\n l = hl[2];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[2] = ah2 = (c & 0xffff) | (d << 16);\n hl[2] = al2 = (a & 0xffff) | (b << 16);\n\n h = ah3;\n l = al3;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[3];\n l = hl[3];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[3] = ah3 = (c & 0xffff) | (d << 16);\n hl[3] = al3 = (a & 0xffff) | (b << 16);\n\n h = ah4;\n l = al4;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[4];\n l = hl[4];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[4] = ah4 = (c & 0xffff) | (d << 16);\n hl[4] = al4 = (a & 0xffff) | (b << 16);\n\n h = ah5;\n l = al5;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[5];\n l = hl[5];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[5] = ah5 = (c & 0xffff) | (d << 16);\n hl[5] = al5 = (a & 0xffff) | (b << 16);\n\n h = ah6;\n l = al6;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[6];\n l = hl[6];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[6] = ah6 = (c & 0xffff) | (d << 16);\n hl[6] = al6 = (a & 0xffff) | (b << 16);\n\n h = ah7;\n l = al7;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[7];\n l = hl[7];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[7] = ah7 = (c & 0xffff) | (d << 16);\n hl[7] = al7 = (a & 0xffff) | (b << 16);\n\n pos += 128;\n len -= 128;\n }\n\n return pos;\n}\n\nexport function hash(data: Uint8Array): Uint8Array {\n const h = new SHA512();\n h.update(data);\n const digest = h.digest();\n h.clean();\n return digest;\n}\n", "// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package ed25519 implements Ed25519 public-key signature algorithm.\n */\n\nimport { randomBytes, RandomSource } from \"@stablelib/random\";\nimport { hash, SHA512 } from \"@stablelib/sha512\";\nimport { wipe } from \"@stablelib/wipe\";\n\nexport const SIGNATURE_LENGTH = 64;\nexport const PUBLIC_KEY_LENGTH = 32;\nexport const SECRET_KEY_LENGTH = 64;\nexport const SEED_LENGTH = 32;\n\n// TODO(dchest): some functions are copies of ../kex/x25519.\n// Find a way to combine them without opening up to public.\n\n// Ported from TweetNaCl.js, which was ported from TweetNaCl\n// by Dmitry Chestnykh and Devi Mandiri.\n// Public domain.\n// https://tweetnacl.js.org\n\n// TweetNaCl contributors:\n// Daniel J. Bernstein, Bernard van Gastel, Wesley Janssen,\n// Tanja Lange, Peter Schwabe, Sjaak Smetsers.\n// Public domain.\n// https://tweetnacl.cr.yp.to/\n\ntype GF = Float64Array;\n\n// Returns new zero-filled 16-element GF (Float64Array).\n// If passed an array of numbers, prefills the returned\n// array with them.\n//\n// We use Float64Array, because we need 48-bit numbers\n// for this implementation.\nfunction gf(init?: number[]): GF {\n const r = new Float64Array(16);\n if (init) {\n for (let i = 0; i < init.length; i++) {\n r[i] = init[i];\n }\n }\n return r;\n}\n\n// Base point.\nconst _9 = new Uint8Array(32); _9[0] = 9;\n\nconst gf0 = gf();\n\nconst gf1 = gf([1]);\n\nconst D = gf([\n 0x78a3, 0x1359, 0x4dca, 0x75eb, 0xd8ab, 0x4141, 0x0a4d, 0x0070,\n 0xe898, 0x7779, 0x4079, 0x8cc7, 0xfe73, 0x2b6f, 0x6cee, 0x5203\n]);\n\nconst D2 = gf([\n 0xf159, 0x26b2, 0x9b94, 0xebd6, 0xb156, 0x8283, 0x149a, 0x00e0,\n 0xd130, 0xeef3, 0x80f2, 0x198e, 0xfce7, 0x56df, 0xd9dc, 0x2406\n]);\n\nconst X = gf([\n 0xd51a, 0x8f25, 0x2d60, 0xc956, 0xa7b2, 0x9525, 0xc760, 0x692c,\n 0xdc5c, 0xfdd6, 0xe231, 0xc0a4, 0x53fe, 0xcd6e, 0x36d3, 0x2169\n]);\n\nconst Y = gf([\n 0x6658, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666,\n 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666\n]);\n\nconst I = gf([\n 0xa0b0, 0x4a0e, 0x1b27, 0xc4ee, 0xe478, 0xad2f, 0x1806, 0x2f43,\n 0xd7a7, 0x3dfb, 0x0099, 0x2b4d, 0xdf0b, 0x4fc1, 0x2480, 0x2b83\n]);\n\nfunction set25519(r: GF, a: GF) {\n for (let i = 0; i < 16; i++) {\n r[i] = a[i] | 0;\n }\n}\n\nfunction car25519(o: GF) {\n let c = 1;\n for (let i = 0; i < 16; i++) {\n let v = o[i] + c + 65535;\n c = Math.floor(v / 65536);\n o[i] = v - c * 65536;\n }\n o[0] += c - 1 + 37 * (c - 1);\n}\n\nfunction sel25519(p: GF, q: GF, b: number) {\n const c = ~(b - 1);\n for (let i = 0; i < 16; i++) {\n const t = c & (p[i] ^ q[i]);\n p[i] ^= t;\n q[i] ^= t;\n }\n}\n\nfunction pack25519(o: Uint8Array, n: GF) {\n const m = gf();\n const t = gf();\n for (let i = 0; i < 16; i++) {\n t[i] = n[i];\n }\n car25519(t);\n car25519(t);\n car25519(t);\n for (let j = 0; j < 2; j++) {\n m[0] = t[0] - 0xffed;\n for (let i = 1; i < 15; i++) {\n m[i] = t[i] - 0xffff - ((m[i - 1] >> 16) & 1);\n m[i - 1] &= 0xffff;\n }\n m[15] = t[15] - 0x7fff - ((m[14] >> 16) & 1);\n const b = (m[15] >> 16) & 1;\n m[14] &= 0xffff;\n sel25519(t, m, 1 - b);\n }\n for (let i = 0; i < 16; i++) {\n o[2 * i] = t[i] & 0xff;\n o[2 * i + 1] = t[i] >> 8;\n }\n}\n\nfunction verify32(x: Uint8Array, y: Uint8Array) {\n let d = 0;\n for (let i = 0; i < 32; i++) {\n d |= x[i] ^ y[i];\n }\n return (1 & ((d - 1) >>> 8)) - 1;\n}\n\n\nfunction neq25519(a: GF, b: GF) {\n const c = new Uint8Array(32);\n const d = new Uint8Array(32);\n pack25519(c, a);\n pack25519(d, b);\n return verify32(c, d);\n}\n\nfunction par25519(a: GF) {\n const d = new Uint8Array(32);\n pack25519(d, a);\n return d[0] & 1;\n}\n\nfunction unpack25519(o: GF, n: Uint8Array) {\n for (let i = 0; i < 16; i++) {\n o[i] = n[2 * i] + (n[2 * i + 1] << 8);\n }\n o[15] &= 0x7fff;\n}\n\nfunction add(o: GF, a: GF, b: GF) {\n for (let i = 0; i < 16; i++) {\n o[i] = a[i] + b[i];\n }\n}\n\nfunction sub(o: GF, a: GF, b: GF) {\n for (let i = 0; i < 16; i++) {\n o[i] = a[i] - b[i];\n }\n}\n\nfunction mul(o: GF, a: GF, b: GF) {\n let v: number, c: number,\n t0 = 0, t1 = 0, t2 = 0, t3 = 0, t4 = 0, t5 = 0, t6 = 0, t7 = 0,\n t8 = 0, t9 = 0, t10 = 0, t11 = 0, t12 = 0, t13 = 0, t14 = 0, t15 = 0,\n t16 = 0, t17 = 0, t18 = 0, t19 = 0, t20 = 0, t21 = 0, t22 = 0, t23 = 0,\n t24 = 0, t25 = 0, t26 = 0, t27 = 0, t28 = 0, t29 = 0, t30 = 0,\n b0 = b[0],\n b1 = b[1],\n b2 = b[2],\n b3 = b[3],\n b4 = b[4],\n b5 = b[5],\n b6 = b[6],\n b7 = b[7],\n b8 = b[8],\n b9 = b[9],\n b10 = b[10],\n b11 = b[11],\n b12 = b[12],\n b13 = b[13],\n b14 = b[14],\n b15 = b[15];\n\n v = a[0];\n t0 += v * b0;\n t1 += v * b1;\n t2 += v * b2;\n t3 += v * b3;\n t4 += v * b4;\n t5 += v * b5;\n t6 += v * b6;\n t7 += v * b7;\n t8 += v * b8;\n t9 += v * b9;\n t10 += v * b10;\n t11 += v * b11;\n t12 += v * b12;\n t13 += v * b13;\n t14 += v * b14;\n t15 += v * b15;\n v = a[1];\n t1 += v * b0;\n t2 += v * b1;\n t3 += v * b2;\n t4 += v * b3;\n t5 += v * b4;\n t6 += v * b5;\n t7 += v * b6;\n t8 += v * b7;\n t9 += v * b8;\n t10 += v * b9;\n t11 += v * b10;\n t12 += v * b11;\n t13 += v * b12;\n t14 += v * b13;\n t15 += v * b14;\n t16 += v * b15;\n v = a[2];\n t2 += v * b0;\n t3 += v * b1;\n t4 += v * b2;\n t5 += v * b3;\n t6 += v * b4;\n t7 += v * b5;\n t8 += v * b6;\n t9 += v * b7;\n t10 += v * b8;\n t11 += v * b9;\n t12 += v * b10;\n t13 += v * b11;\n t14 += v * b12;\n t15 += v * b13;\n t16 += v * b14;\n t17 += v * b15;\n v = a[3];\n t3 += v * b0;\n t4 += v * b1;\n t5 += v * b2;\n t6 += v * b3;\n t7 += v * b4;\n t8 += v * b5;\n t9 += v * b6;\n t10 += v * b7;\n t11 += v * b8;\n t12 += v * b9;\n t13 += v * b10;\n t14 += v * b11;\n t15 += v * b12;\n t16 += v * b13;\n t17 += v * b14;\n t18 += v * b15;\n v = a[4];\n t4 += v * b0;\n t5 += v * b1;\n t6 += v * b2;\n t7 += v * b3;\n t8 += v * b4;\n t9 += v * b5;\n t10 += v * b6;\n t11 += v * b7;\n t12 += v * b8;\n t13 += v * b9;\n t14 += v * b10;\n t15 += v * b11;\n t16 += v * b12;\n t17 += v * b13;\n t18 += v * b14;\n t19 += v * b15;\n v = a[5];\n t5 += v * b0;\n t6 += v * b1;\n t7 += v * b2;\n t8 += v * b3;\n t9 += v * b4;\n t10 += v * b5;\n t11 += v * b6;\n t12 += v * b7;\n t13 += v * b8;\n t14 += v * b9;\n t15 += v * b10;\n t16 += v * b11;\n t17 += v * b12;\n t18 += v * b13;\n t19 += v * b14;\n t20 += v * b15;\n v = a[6];\n t6 += v * b0;\n t7 += v * b1;\n t8 += v * b2;\n t9 += v * b3;\n t10 += v * b4;\n t11 += v * b5;\n t12 += v * b6;\n t13 += v * b7;\n t14 += v * b8;\n t15 += v * b9;\n t16 += v * b10;\n t17 += v * b11;\n t18 += v * b12;\n t19 += v * b13;\n t20 += v * b14;\n t21 += v * b15;\n v = a[7];\n t7 += v * b0;\n t8 += v * b1;\n t9 += v * b2;\n t10 += v * b3;\n t11 += v * b4;\n t12 += v * b5;\n t13 += v * b6;\n t14 += v * b7;\n t15 += v * b8;\n t16 += v * b9;\n t17 += v * b10;\n t18 += v * b11;\n t19 += v * b12;\n t20 += v * b13;\n t21 += v * b14;\n t22 += v * b15;\n v = a[8];\n t8 += v * b0;\n t9 += v * b1;\n t10 += v * b2;\n t11 += v * b3;\n t12 += v * b4;\n t13 += v * b5;\n t14 += v * b6;\n t15 += v * b7;\n t16 += v * b8;\n t17 += v * b9;\n t18 += v * b10;\n t19 += v * b11;\n t20 += v * b12;\n t21 += v * b13;\n t22 += v * b14;\n t23 += v * b15;\n v = a[9];\n t9 += v * b0;\n t10 += v * b1;\n t11 += v * b2;\n t12 += v * b3;\n t13 += v * b4;\n t14 += v * b5;\n t15 += v * b6;\n t16 += v * b7;\n t17 += v * b8;\n t18 += v * b9;\n t19 += v * b10;\n t20 += v * b11;\n t21 += v * b12;\n t22 += v * b13;\n t23 += v * b14;\n t24 += v * b15;\n v = a[10];\n t10 += v * b0;\n t11 += v * b1;\n t12 += v * b2;\n t13 += v * b3;\n t14 += v * b4;\n t15 += v * b5;\n t16 += v * b6;\n t17 += v * b7;\n t18 += v * b8;\n t19 += v * b9;\n t20 += v * b10;\n t21 += v * b11;\n t22 += v * b12;\n t23 += v * b13;\n t24 += v * b14;\n t25 += v * b15;\n v = a[11];\n t11 += v * b0;\n t12 += v * b1;\n t13 += v * b2;\n t14 += v * b3;\n t15 += v * b4;\n t16 += v * b5;\n t17 += v * b6;\n t18 += v * b7;\n t19 += v * b8;\n t20 += v * b9;\n t21 += v * b10;\n t22 += v * b11;\n t23 += v * b12;\n t24 += v * b13;\n t25 += v * b14;\n t26 += v * b15;\n v = a[12];\n t12 += v * b0;\n t13 += v * b1;\n t14 += v * b2;\n t15 += v * b3;\n t16 += v * b4;\n t17 += v * b5;\n t18 += v * b6;\n t19 += v * b7;\n t20 += v * b8;\n t21 += v * b9;\n t22 += v * b10;\n t23 += v * b11;\n t24 += v * b12;\n t25 += v * b13;\n t26 += v * b14;\n t27 += v * b15;\n v = a[13];\n t13 += v * b0;\n t14 += v * b1;\n t15 += v * b2;\n t16 += v * b3;\n t17 += v * b4;\n t18 += v * b5;\n t19 += v * b6;\n t20 += v * b7;\n t21 += v * b8;\n t22 += v * b9;\n t23 += v * b10;\n t24 += v * b11;\n t25 += v * b12;\n t26 += v * b13;\n t27 += v * b14;\n t28 += v * b15;\n v = a[14];\n t14 += v * b0;\n t15 += v * b1;\n t16 += v * b2;\n t17 += v * b3;\n t18 += v * b4;\n t19 += v * b5;\n t20 += v * b6;\n t21 += v * b7;\n t22 += v * b8;\n t23 += v * b9;\n t24 += v * b10;\n t25 += v * b11;\n t26 += v * b12;\n t27 += v * b13;\n t28 += v * b14;\n t29 += v * b15;\n v = a[15];\n t15 += v * b0;\n t16 += v * b1;\n t17 += v * b2;\n t18 += v * b3;\n t19 += v * b4;\n t20 += v * b5;\n t21 += v * b6;\n t22 += v * b7;\n t23 += v * b8;\n t24 += v * b9;\n t25 += v * b10;\n t26 += v * b11;\n t27 += v * b12;\n t28 += v * b13;\n t29 += v * b14;\n t30 += v * b15;\n\n t0 += 38 * t16;\n t1 += 38 * t17;\n t2 += 38 * t18;\n t3 += 38 * t19;\n t4 += 38 * t20;\n t5 += 38 * t21;\n t6 += 38 * t22;\n t7 += 38 * t23;\n t8 += 38 * t24;\n t9 += 38 * t25;\n t10 += 38 * t26;\n t11 += 38 * t27;\n t12 += 38 * t28;\n t13 += 38 * t29;\n t14 += 38 * t30;\n // t15 left as is\n\n // first car\n c = 1;\n v = t0 + c + 65535; c = Math.floor(v / 65536); t0 = v - c * 65536;\n v = t1 + c + 65535; c = Math.floor(v / 65536); t1 = v - c * 65536;\n v = t2 + c + 65535; c = Math.floor(v / 65536); t2 = v - c * 65536;\n v = t3 + c + 65535; c = Math.floor(v / 65536); t3 = v - c * 65536;\n v = t4 + c + 65535; c = Math.floor(v / 65536); t4 = v - c * 65536;\n v = t5 + c + 65535; c = Math.floor(v / 65536); t5 = v - c * 65536;\n v = t6 + c + 65535; c = Math.floor(v / 65536); t6 = v - c * 65536;\n v = t7 + c + 65535; c = Math.floor(v / 65536); t7 = v - c * 65536;\n v = t8 + c + 65535; c = Math.floor(v / 65536); t8 = v - c * 65536;\n v = t9 + c + 65535; c = Math.floor(v / 65536); t9 = v - c * 65536;\n v = t10 + c + 65535; c = Math.floor(v / 65536); t10 = v - c * 65536;\n v = t11 + c + 65535; c = Math.floor(v / 65536); t11 = v - c * 65536;\n v = t12 + c + 65535; c = Math.floor(v / 65536); t12 = v - c * 65536;\n v = t13 + c + 65535; c = Math.floor(v / 65536); t13 = v - c * 65536;\n v = t14 + c + 65535; c = Math.floor(v / 65536); t14 = v - c * 65536;\n v = t15 + c + 65535; c = Math.floor(v / 65536); t15 = v - c * 65536;\n t0 += c - 1 + 37 * (c - 1);\n\n // second car\n c = 1;\n v = t0 + c + 65535; c = Math.floor(v / 65536); t0 = v - c * 65536;\n v = t1 + c + 65535; c = Math.floor(v / 65536); t1 = v - c * 65536;\n v = t2 + c + 65535; c = Math.floor(v / 65536); t2 = v - c * 65536;\n v = t3 + c + 65535; c = Math.floor(v / 65536); t3 = v - c * 65536;\n v = t4 + c + 65535; c = Math.floor(v / 65536); t4 = v - c * 65536;\n v = t5 + c + 65535; c = Math.floor(v / 65536); t5 = v - c * 65536;\n v = t6 + c + 65535; c = Math.floor(v / 65536); t6 = v - c * 65536;\n v = t7 + c + 65535; c = Math.floor(v / 65536); t7 = v - c * 65536;\n v = t8 + c + 65535; c = Math.floor(v / 65536); t8 = v - c * 65536;\n v = t9 + c + 65535; c = Math.floor(v / 65536); t9 = v - c * 65536;\n v = t10 + c + 65535; c = Math.floor(v / 65536); t10 = v - c * 65536;\n v = t11 + c + 65535; c = Math.floor(v / 65536); t11 = v - c * 65536;\n v = t12 + c + 65535; c = Math.floor(v / 65536); t12 = v - c * 65536;\n v = t13 + c + 65535; c = Math.floor(v / 65536); t13 = v - c * 65536;\n v = t14 + c + 65535; c = Math.floor(v / 65536); t14 = v - c * 65536;\n v = t15 + c + 65535; c = Math.floor(v / 65536); t15 = v - c * 65536;\n t0 += c - 1 + 37 * (c - 1);\n\n o[0] = t0;\n o[1] = t1;\n o[2] = t2;\n o[3] = t3;\n o[4] = t4;\n o[5] = t5;\n o[6] = t6;\n o[7] = t7;\n o[8] = t8;\n o[9] = t9;\n o[10] = t10;\n o[11] = t11;\n o[12] = t12;\n o[13] = t13;\n o[14] = t14;\n o[15] = t15;\n}\n\nfunction square(o: GF, a: GF) {\n mul(o, a, a);\n}\n\nfunction inv25519(o: GF, i: GF) {\n const c = gf();\n let a: number;\n for (a = 0; a < 16; a++) {\n c[a] = i[a];\n }\n for (a = 253; a >= 0; a--) {\n square(c, c);\n if (a !== 2 && a !== 4) {\n mul(c, c, i);\n }\n }\n for (a = 0; a < 16; a++) {\n o[a] = c[a];\n }\n}\n\nfunction pow2523(o: GF, i: GF) {\n const c = gf();\n let a: number;\n for (a = 0; a < 16; a++) {\n c[a] = i[a];\n }\n for (a = 250; a >= 0; a--) {\n square(c, c);\n if (a !== 1) {\n mul(c, c, i);\n }\n }\n for (a = 0; a < 16; a++) {\n o[a] = c[a];\n }\n}\n\n\nfunction edadd(p: GF[], q: GF[]) {\n const a = gf(), b = gf(), c = gf(),\n d = gf(), e = gf(), f = gf(),\n g = gf(), h = gf(), t = gf();\n\n sub(a, p[1], p[0]);\n sub(t, q[1], q[0]);\n mul(a, a, t);\n add(b, p[0], p[1]);\n add(t, q[0], q[1]);\n mul(b, b, t);\n mul(c, p[3], q[3]);\n mul(c, c, D2);\n mul(d, p[2], q[2]);\n add(d, d, d);\n sub(e, b, a);\n sub(f, d, c);\n add(g, d, c);\n add(h, b, a);\n\n mul(p[0], e, f);\n mul(p[1], h, g);\n mul(p[2], g, f);\n mul(p[3], e, h);\n}\n\nfunction cswap(p: GF[], q: GF[], b: number) {\n for (let i = 0; i < 4; i++) {\n sel25519(p[i], q[i], b);\n }\n}\n\nfunction pack(r: Uint8Array, p: GF[]) {\n const tx = gf(), ty = gf(), zi = gf();\n inv25519(zi, p[2]);\n mul(tx, p[0], zi);\n mul(ty, p[1], zi);\n pack25519(r, ty);\n r[31] ^= par25519(tx) << 7;\n}\n\nfunction scalarmult(p: GF[], q: GF[], s: Uint8Array) {\n set25519(p[0], gf0);\n set25519(p[1], gf1);\n set25519(p[2], gf1);\n set25519(p[3], gf0);\n for (let i = 255; i >= 0; --i) {\n const b = (s[(i / 8) | 0] >> (i & 7)) & 1;\n cswap(p, q, b);\n edadd(q, p);\n edadd(p, p);\n cswap(p, q, b);\n }\n}\n\nfunction scalarbase(p: GF[], s: Uint8Array) {\n const q = [gf(), gf(), gf(), gf()];\n set25519(q[0], X);\n set25519(q[1], Y);\n set25519(q[2], gf1);\n mul(q[3], X, Y);\n scalarmult(p, q, s);\n}\n\nexport interface KeyPair {\n publicKey: Uint8Array;\n secretKey: Uint8Array;\n}\n\n// Generates key pair from secret 32-byte seed.\nexport function generateKeyPairFromSeed(seed: Uint8Array): KeyPair {\n if (seed.length !== SEED_LENGTH) {\n throw new Error(`ed25519: seed must be ${SEED_LENGTH} bytes`);\n }\n\n const d = hash(seed);\n d[0] &= 248;\n d[31] &= 127;\n d[31] |= 64;\n\n const publicKey = new Uint8Array(32);\n const p = [gf(), gf(), gf(), gf()];\n scalarbase(p, d);\n pack(publicKey, p);\n\n const secretKey = new Uint8Array(64);\n secretKey.set(seed);\n secretKey.set(publicKey, 32);\n\n return {\n publicKey,\n secretKey\n };\n}\n\nexport function generateKeyPair(prng?: RandomSource): KeyPair {\n const seed = randomBytes(32, prng);\n const result = generateKeyPairFromSeed(seed);\n wipe(seed);\n return result;\n}\n\nexport function extractPublicKeyFromSecretKey(secretKey: Uint8Array): Uint8Array {\n if (secretKey.length !== SECRET_KEY_LENGTH) {\n throw new Error(`ed25519: secret key must be ${SECRET_KEY_LENGTH} bytes`);\n }\n return new Uint8Array(secretKey.subarray(32));\n}\n\nconst L = new Float64Array([\n 0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, 0xd6, 0x9c, 0xf7, 0xa2,\n 0xde, 0xf9, 0xde, 0x14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x10\n]);\n\nfunction modL(r: Uint8Array, x: Float64Array) {\n let carry: number;\n let i: number;\n let j: number;\n let k: number;\n for (i = 63; i >= 32; --i) {\n carry = 0;\n for (j = i - 32, k = i - 12; j < k; ++j) {\n x[j] += carry - 16 * x[i] * L[j - (i - 32)];\n carry = Math.floor((x[j] + 128) / 256);\n x[j] -= carry * 256;\n }\n x[j] += carry;\n x[i] = 0;\n }\n carry = 0;\n for (j = 0; j < 32; j++) {\n x[j] += carry - (x[31] >> 4) * L[j];\n carry = x[j] >> 8;\n x[j] &= 255;\n }\n for (j = 0; j < 32; j++) {\n x[j] -= carry * L[j];\n }\n for (i = 0; i < 32; i++) {\n x[i + 1] += x[i] >> 8;\n r[i] = x[i] & 255;\n }\n}\n\nfunction reduce(r: Uint8Array) {\n const x = new Float64Array(64);\n for (let i = 0; i < 64; i++) {\n x[i] = r[i];\n }\n for (let i = 0; i < 64; i++) {\n r[i] = 0;\n }\n modL(r, x);\n}\n\n// Returns 64-byte signature of the message under the 64-byte secret key.\nexport function sign(secretKey: Uint8Array, message: Uint8Array): Uint8Array {\n const x = new Float64Array(64);\n const p = [gf(), gf(), gf(), gf()];\n\n const d = hash(secretKey.subarray(0, 32));\n d[0] &= 248;\n d[31] &= 127;\n d[31] |= 64;\n\n const signature = new Uint8Array(64);\n signature.set(d.subarray(32), 32);\n\n const hs = new SHA512();\n hs.update(signature.subarray(32));\n hs.update(message);\n const r = hs.digest();\n hs.clean();\n reduce(r);\n scalarbase(p, r);\n pack(signature, p);\n\n hs.reset();\n hs.update(signature.subarray(0, 32));\n hs.update(secretKey.subarray(32));\n hs.update(message);\n const h = hs.digest();\n reduce(h);\n\n for (let i = 0; i < 32; i++) {\n x[i] = r[i];\n }\n for (let i = 0; i < 32; i++) {\n for (let j = 0; j < 32; j++) {\n x[i + j] += h[i] * d[j];\n }\n }\n modL(signature.subarray(32), x);\n\n return signature;\n}\n\nfunction unpackneg(r: GF[], p: Uint8Array) {\n const t = gf(), chk = gf(), num = gf(),\n den = gf(), den2 = gf(), den4 = gf(),\n den6 = gf();\n\n set25519(r[2], gf1);\n unpack25519(r[1], p);\n square(num, r[1]);\n mul(den, num, D);\n sub(num, num, r[2]);\n add(den, r[2], den);\n\n square(den2, den);\n square(den4, den2);\n mul(den6, den4, den2);\n mul(t, den6, num);\n mul(t, t, den);\n\n pow2523(t, t);\n mul(t, t, num);\n mul(t, t, den);\n mul(t, t, den);\n mul(r[0], t, den);\n\n square(chk, r[0]);\n mul(chk, chk, den);\n if (neq25519(chk, num)) {\n mul(r[0], r[0], I);\n }\n\n square(chk, r[0]);\n mul(chk, chk, den);\n if (neq25519(chk, num)) {\n return -1;\n }\n\n if (par25519(r[0]) === (p[31] >> 7)) {\n sub(r[0], gf0, r[0]);\n }\n\n mul(r[3], r[0], r[1]);\n return 0;\n}\n\nexport function verify(publicKey: Uint8Array, message: Uint8Array, signature: Uint8Array): boolean {\n const t = new Uint8Array(32);\n const p = [gf(), gf(), gf(), gf()];\n const q = [gf(), gf(), gf(), gf()];\n\n if (signature.length !== SIGNATURE_LENGTH) {\n throw new Error(`ed25519: signature must be ${SIGNATURE_LENGTH} bytes`);\n }\n\n if (unpackneg(q, publicKey)) {\n return false;\n }\n\n const hs = new SHA512();\n hs.update(signature.subarray(0, 32));\n hs.update(publicKey);\n hs.update(message);\n const h = hs.digest();\n reduce(h);\n scalarmult(p, q, h);\n\n scalarbase(q, signature.subarray(32));\n edadd(p, q);\n pack(t, p);\n\n if (verify32(signature, t)) {\n return false;\n }\n return true;\n}\n\n/**\n * Convert Ed25519 public key to X25519 public key.\n *\n * Throws if given an invalid public key.\n */\nexport function convertPublicKeyToX25519(publicKey: Uint8Array): Uint8Array {\n let q = [gf(), gf(), gf(), gf()];\n\n if (unpackneg(q, publicKey)) {\n throw new Error(\"Ed25519: invalid public key\");\n }\n\n // Formula: montgomeryX = (edwardsY + 1)*inverse(1 - edwardsY) mod p\n let a = gf();\n let b = gf();\n let y = q[1];\n add(a, gf1, y);\n sub(b, gf1, y);\n inv25519(b, b);\n mul(a, a, b);\n\n let z = new Uint8Array(32);\n pack25519(z, a);\n return z;\n}\n\n/**\n * Convert Ed25519 secret (private) key to X25519 secret key.\n */\nexport function convertSecretKeyToX25519(secretKey: Uint8Array): Uint8Array {\n const d = hash(secretKey.subarray(0, 32));\n d[0] &= 248;\n d[31] &= 127;\n d[31] |= 64;\n const o = new Uint8Array(d.subarray(0, 32));\n wipe(d);\n return o;\n}\n", "// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package chacha implements ChaCha stream cipher.\n */\n\nimport { writeUint32LE } from \"@stablelib/binary\";\nimport { wipe } from \"@stablelib/wipe\";\n\n// Number of ChaCha rounds (ChaCha20).\nconst ROUNDS = 20;\n\n// Applies the ChaCha core function to 16-byte input,\n// 32-byte key key, and puts the result into 64-byte array out.\nfunction core(out: Uint8Array, input: Uint8Array, key: Uint8Array): void {\n let j0 = 0x61707865; // \"expa\" -- ChaCha's \"sigma\" constant\n let j1 = 0x3320646E; // \"nd 3\" for 32-byte keys\n let j2 = 0x79622D32; // \"2-by\"\n let j3 = 0x6B206574; // \"te k\"\n let j4 = (key[3] << 24) | (key[2] << 16) | (key[1] << 8) | key[0];\n let j5 = (key[7] << 24) | (key[6] << 16) | (key[5] << 8) | key[4];\n let j6 = (key[11] << 24) | (key[10] << 16) | (key[9] << 8) | key[8];\n let j7 = (key[15] << 24) | (key[14] << 16) | (key[13] << 8) | key[12];\n let j8 = (key[19] << 24) | (key[18] << 16) | (key[17] << 8) | key[16];\n let j9 = (key[23] << 24) | (key[22] << 16) | (key[21] << 8) | key[20];\n let j10 = (key[27] << 24) | (key[26] << 16) | (key[25] << 8) | key[24];\n let j11 = (key[31] << 24) | (key[30] << 16) | (key[29] << 8) | key[28];\n let j12 = (input[3] << 24) | (input[2] << 16) | (input[1] << 8) | input[0];\n let j13 = (input[7] << 24) | (input[6] << 16) | (input[5] << 8) | input[4];\n let j14 = (input[11] << 24) | (input[10] << 16) | (input[9] << 8) | input[8];\n let j15 = (input[15] << 24) | (input[14] << 16) | (input[13] << 8) | input[12];\n\n let x0 = j0;\n let x1 = j1;\n let x2 = j2;\n let x3 = j3;\n let x4 = j4;\n let x5 = j5;\n let x6 = j6;\n let x7 = j7;\n let x8 = j8;\n let x9 = j9;\n let x10 = j10;\n let x11 = j11;\n let x12 = j12;\n let x13 = j13;\n let x14 = j14;\n let x15 = j15;\n\n for (let i = 0; i < ROUNDS; i += 2) {\n x0 = x0 + x4 | 0; x12 ^= x0; x12 = x12 >>> (32 - 16) | x12 << 16;\n x8 = x8 + x12 | 0; x4 ^= x8; x4 = x4 >>> (32 - 12) | x4 << 12;\n x1 = x1 + x5 | 0; x13 ^= x1; x13 = x13 >>> (32 - 16) | x13 << 16;\n x9 = x9 + x13 | 0; x5 ^= x9; x5 = x5 >>> (32 - 12) | x5 << 12;\n\n x2 = x2 + x6 | 0; x14 ^= x2; x14 = x14 >>> (32 - 16) | x14 << 16;\n x10 = x10 + x14 | 0; x6 ^= x10; x6 = x6 >>> (32 - 12) | x6 << 12;\n x3 = x3 + x7 | 0; x15 ^= x3; x15 = x15 >>> (32 - 16) | x15 << 16;\n x11 = x11 + x15 | 0; x7 ^= x11; x7 = x7 >>> (32 - 12) | x7 << 12;\n\n x2 = x2 + x6 | 0; x14 ^= x2; x14 = x14 >>> (32 - 8) | x14 << 8;\n x10 = x10 + x14 | 0; x6 ^= x10; x6 = x6 >>> (32 - 7) | x6 << 7;\n x3 = x3 + x7 | 0; x15 ^= x3; x15 = x15 >>> (32 - 8) | x15 << 8;\n x11 = x11 + x15 | 0; x7 ^= x11; x7 = x7 >>> (32 - 7) | x7 << 7;\n\n x1 = x1 + x5 | 0; x13 ^= x1; x13 = x13 >>> (32 - 8) | x13 << 8;\n x9 = x9 + x13 | 0; x5 ^= x9; x5 = x5 >>> (32 - 7) | x5 << 7;\n x0 = x0 + x4 | 0; x12 ^= x0; x12 = x12 >>> (32 - 8) | x12 << 8;\n x8 = x8 + x12 | 0; x4 ^= x8; x4 = x4 >>> (32 - 7) | x4 << 7;\n\n x0 = x0 + x5 | 0; x15 ^= x0; x15 = x15 >>> (32 - 16) | x15 << 16;\n x10 = x10 + x15 | 0; x5 ^= x10; x5 = x5 >>> (32 - 12) | x5 << 12;\n x1 = x1 + x6 | 0; x12 ^= x1; x12 = x12 >>> (32 - 16) | x12 << 16;\n x11 = x11 + x12 | 0; x6 ^= x11; x6 = x6 >>> (32 - 12) | x6 << 12;\n\n x2 = x2 + x7 | 0; x13 ^= x2; x13 = x13 >>> (32 - 16) | x13 << 16;\n x8 = x8 + x13 | 0; x7 ^= x8; x7 = x7 >>> (32 - 12) | x7 << 12;\n x3 = x3 + x4 | 0; x14 ^= x3; x14 = x14 >>> (32 - 16) | x14 << 16;\n x9 = x9 + x14 | 0; x4 ^= x9; x4 = x4 >>> (32 - 12) | x4 << 12;\n\n x2 = x2 + x7 | 0; x13 ^= x2; x13 = x13 >>> (32 - 8) | x13 << 8;\n x8 = x8 + x13 | 0; x7 ^= x8; x7 = x7 >>> (32 - 7) | x7 << 7;\n x3 = x3 + x4 | 0; x14 ^= x3; x14 = x14 >>> (32 - 8) | x14 << 8;\n x9 = x9 + x14 | 0; x4 ^= x9; x4 = x4 >>> (32 - 7) | x4 << 7;\n\n x1 = x1 + x6 | 0; x12 ^= x1; x12 = x12 >>> (32 - 8) | x12 << 8;\n x11 = x11 + x12 | 0; x6 ^= x11; x6 = x6 >>> (32 - 7) | x6 << 7;\n x0 = x0 + x5 | 0; x15 ^= x0; x15 = x15 >>> (32 - 8) | x15 << 8;\n x10 = x10 + x15 | 0; x5 ^= x10; x5 = x5 >>> (32 - 7) | x5 << 7;\n }\n writeUint32LE(x0 + j0 | 0, out, 0);\n writeUint32LE(x1 + j1 | 0, out, 4);\n writeUint32LE(x2 + j2 | 0, out, 8);\n writeUint32LE(x3 + j3 | 0, out, 12);\n writeUint32LE(x4 + j4 | 0, out, 16);\n writeUint32LE(x5 + j5 | 0, out, 20);\n writeUint32LE(x6 + j6 | 0, out, 24);\n writeUint32LE(x7 + j7 | 0, out, 28);\n writeUint32LE(x8 + j8 | 0, out, 32);\n writeUint32LE(x9 + j9 | 0, out, 36);\n writeUint32LE(x10 + j10 | 0, out, 40);\n writeUint32LE(x11 + j11 | 0, out, 44);\n writeUint32LE(x12 + j12 | 0, out, 48);\n writeUint32LE(x13 + j13 | 0, out, 52);\n writeUint32LE(x14 + j14 | 0, out, 56);\n writeUint32LE(x15 + j15 | 0, out, 60);\n}\n\n/**\n * Encrypt src with ChaCha20 stream generated for the given 32-byte key and\n * 8-byte (as in original implementation) or 12-byte (as in RFC7539) nonce and\n * write the result into dst and return it.\n *\n * dst and src may be the same, but otherwise must not overlap.\n *\n * If nonce is 12 bytes, users should not encrypt more than 256 GiB with the\n * same key and nonce, otherwise the stream will repeat. The function will\n * throw error if counter overflows to prevent this.\n *\n * If nonce is 8 bytes, the output is practically unlimited (2^70 bytes, which\n * is more than a million petabytes). However, it is not recommended to\n * generate 8-byte nonces randomly, as the chance of collision is high.\n *\n * Never use the same key and nonce to encrypt more than one message.\n *\n * If nonceInplaceCounterLength is not 0, the nonce is assumed to be a 16-byte\n * array with stream counter in first nonceInplaceCounterLength bytes and nonce\n * in the last remaining bytes. The counter will be incremented inplace for\n * each ChaCha block. This is useful if you need to encrypt one stream of data\n * in chunks.\n */\nexport function streamXOR(key: Uint8Array, nonce: Uint8Array,\n src: Uint8Array, dst: Uint8Array, nonceInplaceCounterLength = 0): Uint8Array {\n // We only support 256-bit keys.\n if (key.length !== 32) {\n throw new Error(\"ChaCha: key size must be 32 bytes\");\n }\n\n if (dst.length < src.length) {\n throw new Error(\"ChaCha: destination is shorter than source\");\n }\n\n let nc: Uint8Array;\n let counterLength: number;\n\n if (nonceInplaceCounterLength === 0) {\n if (nonce.length !== 8 && nonce.length !== 12) {\n throw new Error(\"ChaCha nonce must be 8 or 12 bytes\");\n }\n nc = new Uint8Array(16);\n // First counterLength bytes of nc are counter, starting with zero.\n counterLength = nc.length - nonce.length;\n // Last bytes of nc after counterLength are nonce, set them.\n nc.set(nonce, counterLength);\n } else {\n if (nonce.length !== 16) {\n throw new Error(\"ChaCha nonce with counter must be 16 bytes\");\n }\n // This will update passed nonce with counter inplace.\n nc = nonce;\n counterLength = nonceInplaceCounterLength;\n }\n\n // Allocate temporary space for ChaCha block.\n const block = new Uint8Array(64);\n\n for (let i = 0; i < src.length; i += 64) {\n // Generate a block.\n core(block, nc, key);\n\n // XOR block bytes with src into dst.\n for (let j = i; j < i + 64 && j < src.length; j++) {\n dst[j] = src[j] ^ block[j - i];\n }\n\n // Increment counter.\n incrementCounter(nc, 0, counterLength);\n }\n\n // Cleanup temporary space.\n wipe(block);\n\n if (nonceInplaceCounterLength === 0) {\n // Cleanup counter.\n wipe(nc);\n }\n\n return dst;\n}\n\n/**\n * Generate ChaCha20 stream for the given 32-byte key and 8-byte or 12-byte\n * nonce and write it into dst and return it.\n *\n * Never use the same key and nonce to generate more than one stream.\n *\n * If nonceInplaceCounterLength is not 0, it behaves the same with respect to\n * the nonce as described in the streamXOR documentation.\n *\n * stream is like streamXOR with all-zero src.\n */\nexport function stream(key: Uint8Array, nonce: Uint8Array,\n dst: Uint8Array, nonceInplaceCounterLength = 0): Uint8Array {\n wipe(dst);\n return streamXOR(key, nonce, dst, dst, nonceInplaceCounterLength);\n}\n\nfunction incrementCounter(counter: Uint8Array, pos: number, len: number) {\n let carry = 1;\n while (len--) {\n carry = carry + (counter[pos] & 0xff) | 0;\n counter[pos] = carry & 0xff;\n carry >>>= 8;\n pos++;\n }\n if (carry > 0) {\n throw new Error(\"ChaCha: counter overflow\");\n }\n}\n", "// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package constant-time provides functions for performing algorithmically constant-time operations.\n */\n\n/**\n * NOTE! Due to the inability to guarantee real constant time evaluation of\n * anything in JavaScript VM, this is module is the best effort.\n */\n\n/**\n * Returns resultIfOne if subject is 1, or resultIfZero if subject is 0.\n *\n * Supports only 32-bit integers, so resultIfOne or resultIfZero are not\n * integers, they'll be converted to them with bitwise operations.\n */\nexport function select(subject: number, resultIfOne: number, resultIfZero: number): number {\n return (~(subject - 1) & resultIfOne) | ((subject - 1) & resultIfZero);\n}\n\n/**\n * Returns 1 if a <= b, or 0 if not.\n * Arguments must be positive 32-bit integers less than or equal to 2^31 - 1.\n */\nexport function lessOrEqual(a: number, b: number): number {\n return (((a | 0) - (b | 0) - 1) >>> 31) & 1;\n}\n\n/**\n * Returns 1 if a and b are of equal length and their contents\n * are equal, or 0 otherwise.\n *\n * Note that unlike in equal(), zero-length inputs are considered\n * the same, so this function will return 1.\n */\nexport function compare(a: Uint8Array, b: Uint8Array): number {\n if (a.length !== b.length) {\n return 0;\n }\n let result = 0;\n for (let i = 0; i < a.length; i++) {\n result |= a[i] ^ b[i];\n }\n return (1 & ((result - 1) >>> 8));\n}\n\n/**\n * Returns true if a and b are of equal non-zero length,\n * and their contents are equal, or false otherwise.\n *\n * Note that unlike in compare() zero-length inputs are considered\n * _not_ equal, so this function will return false.\n */\nexport function equal(a: Uint8Array, b: Uint8Array): boolean {\n if (a.length === 0 || b.length === 0) {\n return false;\n }\n return compare(a, b) !== 0;\n}\n", "// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package poly1305 implements Poly1305 one-time message authentication algorithm.\n */\n\nimport { equal as constantTimeEqual } from \"@stablelib/constant-time\";\nimport { wipe } from \"@stablelib/wipe\";\n\nexport const DIGEST_LENGTH = 16;\n\n// Port of Andrew Moon's Poly1305-donna-16. Public domain.\n// https://github.com/floodyberry/poly1305-donna\n\n/**\n * Poly1305 computes 16-byte authenticator of message using\n * a one-time 32-byte key.\n *\n * Important: key should be used for only one message,\n * it should never repeat.\n */\nexport class Poly1305 {\n readonly digestLength = DIGEST_LENGTH;\n\n private _buffer = new Uint8Array(16);\n private _r = new Uint16Array(10);\n private _h = new Uint16Array(10);\n private _pad = new Uint16Array(8);\n private _leftover = 0;\n private _fin = 0;\n private _finished = false;\n\n constructor(key: Uint8Array) {\n let t0 = key[0] | key[1] << 8; this._r[0] = (t0) & 0x1fff;\n let t1 = key[2] | key[3] << 8; this._r[1] = ((t0 >>> 13) | (t1 << 3)) & 0x1fff;\n let t2 = key[4] | key[5] << 8; this._r[2] = ((t1 >>> 10) | (t2 << 6)) & 0x1f03;\n let t3 = key[6] | key[7] << 8; this._r[3] = ((t2 >>> 7) | (t3 << 9)) & 0x1fff;\n let t4 = key[8] | key[9] << 8; this._r[4] = ((t3 >>> 4) | (t4 << 12)) & 0x00ff;\n this._r[5] = ((t4 >>> 1)) & 0x1ffe;\n let t5 = key[10] | key[11] << 8; this._r[6] = ((t4 >>> 14) | (t5 << 2)) & 0x1fff;\n let t6 = key[12] | key[13] << 8; this._r[7] = ((t5 >>> 11) | (t6 << 5)) & 0x1f81;\n let t7 = key[14] | key[15] << 8; this._r[8] = ((t6 >>> 8) | (t7 << 8)) & 0x1fff;\n this._r[9] = ((t7 >>> 5)) & 0x007f;\n\n this._pad[0] = key[16] | key[17] << 8;\n this._pad[1] = key[18] | key[19] << 8;\n this._pad[2] = key[20] | key[21] << 8;\n this._pad[3] = key[22] | key[23] << 8;\n this._pad[4] = key[24] | key[25] << 8;\n this._pad[5] = key[26] | key[27] << 8;\n this._pad[6] = key[28] | key[29] << 8;\n this._pad[7] = key[30] | key[31] << 8;\n }\n\n private _blocks(m: Uint8Array, mpos: number, bytes: number) {\n let hibit = this._fin ? 0 : 1 << 11;\n\n let h0 = this._h[0],\n h1 = this._h[1],\n h2 = this._h[2],\n h3 = this._h[3],\n h4 = this._h[4],\n h5 = this._h[5],\n h6 = this._h[6],\n h7 = this._h[7],\n h8 = this._h[8],\n h9 = this._h[9];\n\n let r0 = this._r[0],\n r1 = this._r[1],\n r2 = this._r[2],\n r3 = this._r[3],\n r4 = this._r[4],\n r5 = this._r[5],\n r6 = this._r[6],\n r7 = this._r[7],\n r8 = this._r[8],\n r9 = this._r[9];\n\n while (bytes >= 16) {\n let t0 = m[mpos + 0] | m[mpos + 1] << 8; h0 += (t0) & 0x1fff;\n let t1 = m[mpos + 2] | m[mpos + 3] << 8; h1 += ((t0 >>> 13) | (t1 << 3)) & 0x1fff;\n let t2 = m[mpos + 4] | m[mpos + 5] << 8; h2 += ((t1 >>> 10) | (t2 << 6)) & 0x1fff;\n let t3 = m[mpos + 6] | m[mpos + 7] << 8; h3 += ((t2 >>> 7) | (t3 << 9)) & 0x1fff;\n let t4 = m[mpos + 8] | m[mpos + 9] << 8; h4 += ((t3 >>> 4) | (t4 << 12)) & 0x1fff;\n h5 += ((t4 >>> 1)) & 0x1fff;\n let t5 = m[mpos + 10] | m[mpos + 11] << 8; h6 += ((t4 >>> 14) | (t5 << 2)) & 0x1fff;\n let t6 = m[mpos + 12] | m[mpos + 13] << 8; h7 += ((t5 >>> 11) | (t6 << 5)) & 0x1fff;\n let t7 = m[mpos + 14] | m[mpos + 15] << 8; h8 += ((t6 >>> 8) | (t7 << 8)) & 0x1fff;\n h9 += ((t7 >>> 5)) | hibit;\n\n let c = 0;\n\n let d0 = c;\n d0 += h0 * r0;\n d0 += h1 * (5 * r9);\n d0 += h2 * (5 * r8);\n d0 += h3 * (5 * r7);\n d0 += h4 * (5 * r6);\n c = (d0 >>> 13); d0 &= 0x1fff;\n d0 += h5 * (5 * r5);\n d0 += h6 * (5 * r4);\n d0 += h7 * (5 * r3);\n d0 += h8 * (5 * r2);\n d0 += h9 * (5 * r1);\n c += (d0 >>> 13); d0 &= 0x1fff;\n\n let d1 = c;\n d1 += h0 * r1;\n d1 += h1 * r0;\n d1 += h2 * (5 * r9);\n d1 += h3 * (5 * r8);\n d1 += h4 * (5 * r7);\n c = (d1 >>> 13); d1 &= 0x1fff;\n d1 += h5 * (5 * r6);\n d1 += h6 * (5 * r5);\n d1 += h7 * (5 * r4);\n d1 += h8 * (5 * r3);\n d1 += h9 * (5 * r2);\n c += (d1 >>> 13); d1 &= 0x1fff;\n\n let d2 = c;\n d2 += h0 * r2;\n d2 += h1 * r1;\n d2 += h2 * r0;\n d2 += h3 * (5 * r9);\n d2 += h4 * (5 * r8);\n c = (d2 >>> 13); d2 &= 0x1fff;\n d2 += h5 * (5 * r7);\n d2 += h6 * (5 * r6);\n d2 += h7 * (5 * r5);\n d2 += h8 * (5 * r4);\n d2 += h9 * (5 * r3);\n c += (d2 >>> 13); d2 &= 0x1fff;\n\n let d3 = c;\n d3 += h0 * r3;\n d3 += h1 * r2;\n d3 += h2 * r1;\n d3 += h3 * r0;\n d3 += h4 * (5 * r9);\n c = (d3 >>> 13); d3 &= 0x1fff;\n d3 += h5 * (5 * r8);\n d3 += h6 * (5 * r7);\n d3 += h7 * (5 * r6);\n d3 += h8 * (5 * r5);\n d3 += h9 * (5 * r4);\n c += (d3 >>> 13); d3 &= 0x1fff;\n\n let d4 = c;\n d4 += h0 * r4;\n d4 += h1 * r3;\n d4 += h2 * r2;\n d4 += h3 * r1;\n d4 += h4 * r0;\n c = (d4 >>> 13); d4 &= 0x1fff;\n d4 += h5 * (5 * r9);\n d4 += h6 * (5 * r8);\n d4 += h7 * (5 * r7);\n d4 += h8 * (5 * r6);\n d4 += h9 * (5 * r5);\n c += (d4 >>> 13); d4 &= 0x1fff;\n\n let d5 = c;\n d5 += h0 * r5;\n d5 += h1 * r4;\n d5 += h2 * r3;\n d5 += h3 * r2;\n d5 += h4 * r1;\n c = (d5 >>> 13); d5 &= 0x1fff;\n d5 += h5 * r0;\n d5 += h6 * (5 * r9);\n d5 += h7 * (5 * r8);\n d5 += h8 * (5 * r7);\n d5 += h9 * (5 * r6);\n c += (d5 >>> 13); d5 &= 0x1fff;\n\n let d6 = c;\n d6 += h0 * r6;\n d6 += h1 * r5;\n d6 += h2 * r4;\n d6 += h3 * r3;\n d6 += h4 * r2;\n c = (d6 >>> 13); d6 &= 0x1fff;\n d6 += h5 * r1;\n d6 += h6 * r0;\n d6 += h7 * (5 * r9);\n d6 += h8 * (5 * r8);\n d6 += h9 * (5 * r7);\n c += (d6 >>> 13); d6 &= 0x1fff;\n\n let d7 = c;\n d7 += h0 * r7;\n d7 += h1 * r6;\n d7 += h2 * r5;\n d7 += h3 * r4;\n d7 += h4 * r3;\n c = (d7 >>> 13); d7 &= 0x1fff;\n d7 += h5 * r2;\n d7 += h6 * r1;\n d7 += h7 * r0;\n d7 += h8 * (5 * r9);\n d7 += h9 * (5 * r8);\n c += (d7 >>> 13); d7 &= 0x1fff;\n\n let d8 = c;\n d8 += h0 * r8;\n d8 += h1 * r7;\n d8 += h2 * r6;\n d8 += h3 * r5;\n d8 += h4 * r4;\n c = (d8 >>> 13); d8 &= 0x1fff;\n d8 += h5 * r3;\n d8 += h6 * r2;\n d8 += h7 * r1;\n d8 += h8 * r0;\n d8 += h9 * (5 * r9);\n c += (d8 >>> 13); d8 &= 0x1fff;\n\n let d9 = c;\n d9 += h0 * r9;\n d9 += h1 * r8;\n d9 += h2 * r7;\n d9 += h3 * r6;\n d9 += h4 * r5;\n c = (d9 >>> 13); d9 &= 0x1fff;\n d9 += h5 * r4;\n d9 += h6 * r3;\n d9 += h7 * r2;\n d9 += h8 * r1;\n d9 += h9 * r0;\n c += (d9 >>> 13); d9 &= 0x1fff;\n\n c = (((c << 2) + c)) | 0;\n c = (c + d0) | 0;\n d0 = c & 0x1fff;\n c = (c >>> 13);\n d1 += c;\n\n h0 = d0;\n h1 = d1;\n h2 = d2;\n h3 = d3;\n h4 = d4;\n h5 = d5;\n h6 = d6;\n h7 = d7;\n h8 = d8;\n h9 = d9;\n\n mpos += 16;\n bytes -= 16;\n }\n this._h[0] = h0;\n this._h[1] = h1;\n this._h[2] = h2;\n this._h[3] = h3;\n this._h[4] = h4;\n this._h[5] = h5;\n this._h[6] = h6;\n this._h[7] = h7;\n this._h[8] = h8;\n this._h[9] = h9;\n }\n\n finish(mac: Uint8Array, macpos = 0): this {\n const g = new Uint16Array(10);\n let c: number;\n let mask: number;\n let f: number;\n let i: number;\n\n if (this._leftover) {\n i = this._leftover;\n this._buffer[i++] = 1;\n for (; i < 16; i++) {\n this._buffer[i] = 0;\n }\n this._fin = 1;\n this._blocks(this._buffer, 0, 16);\n }\n\n c = this._h[1] >>> 13;\n this._h[1] &= 0x1fff;\n for (i = 2; i < 10; i++) {\n this._h[i] += c;\n c = this._h[i] >>> 13;\n this._h[i] &= 0x1fff;\n }\n this._h[0] += (c * 5);\n c = this._h[0] >>> 13;\n this._h[0] &= 0x1fff;\n this._h[1] += c;\n c = this._h[1] >>> 13;\n this._h[1] &= 0x1fff;\n this._h[2] += c;\n\n g[0] = this._h[0] + 5;\n c = g[0] >>> 13;\n g[0] &= 0x1fff;\n for (i = 1; i < 10; i++) {\n g[i] = this._h[i] + c;\n c = g[i] >>> 13;\n g[i] &= 0x1fff;\n }\n g[9] -= (1 << 13);\n\n mask = (c ^ 1) - 1;\n for (i = 0; i < 10; i++) {\n g[i] &= mask;\n }\n mask = ~mask;\n for (i = 0; i < 10; i++) {\n this._h[i] = (this._h[i] & mask) | g[i];\n }\n\n this._h[0] = ((this._h[0]) | (this._h[1] << 13)) & 0xffff;\n this._h[1] = ((this._h[1] >>> 3) | (this._h[2] << 10)) & 0xffff;\n this._h[2] = ((this._h[2] >>> 6) | (this._h[3] << 7)) & 0xffff;\n this._h[3] = ((this._h[3] >>> 9) | (this._h[4] << 4)) & 0xffff;\n this._h[4] = ((this._h[4] >>> 12) | (this._h[5] << 1) | (this._h[6] << 14)) & 0xffff;\n this._h[5] = ((this._h[6] >>> 2) | (this._h[7] << 11)) & 0xffff;\n this._h[6] = ((this._h[7] >>> 5) | (this._h[8] << 8)) & 0xffff;\n this._h[7] = ((this._h[8] >>> 8) | (this._h[9] << 5)) & 0xffff;\n\n f = this._h[0] + this._pad[0];\n this._h[0] = f & 0xffff;\n for (i = 1; i < 8; i++) {\n f = (((this._h[i] + this._pad[i]) | 0) + (f >>> 16)) | 0;\n this._h[i] = f & 0xffff;\n }\n\n mac[macpos + 0] = this._h[0] >>> 0;\n mac[macpos + 1] = this._h[0] >>> 8;\n mac[macpos + 2] = this._h[1] >>> 0;\n mac[macpos + 3] = this._h[1] >>> 8;\n mac[macpos + 4] = this._h[2] >>> 0;\n mac[macpos + 5] = this._h[2] >>> 8;\n mac[macpos + 6] = this._h[3] >>> 0;\n mac[macpos + 7] = this._h[3] >>> 8;\n mac[macpos + 8] = this._h[4] >>> 0;\n mac[macpos + 9] = this._h[4] >>> 8;\n mac[macpos + 10] = this._h[5] >>> 0;\n mac[macpos + 11] = this._h[5] >>> 8;\n mac[macpos + 12] = this._h[6] >>> 0;\n mac[macpos + 13] = this._h[6] >>> 8;\n mac[macpos + 14] = this._h[7] >>> 0;\n mac[macpos + 15] = this._h[7] >>> 8;\n\n this._finished = true;\n return this;\n }\n\n update(m: Uint8Array): this {\n let mpos = 0;\n let bytes = m.length;\n let want: number;\n\n if (this._leftover) {\n want = (16 - this._leftover);\n if (want > bytes) {\n want = bytes;\n }\n for (let i = 0; i < want; i++) {\n this._buffer[this._leftover + i] = m[mpos + i];\n }\n bytes -= want;\n mpos += want;\n this._leftover += want;\n if (this._leftover < 16) {\n return this;\n }\n this._blocks(this._buffer, 0, 16);\n this._leftover = 0;\n }\n\n if (bytes >= 16) {\n want = bytes - (bytes % 16);\n this._blocks(m, mpos, want);\n mpos += want;\n bytes -= want;\n }\n\n if (bytes) {\n for (let i = 0; i < bytes; i++) {\n this._buffer[this._leftover + i] = m[mpos + i];\n }\n this._leftover += bytes;\n }\n\n return this;\n }\n\n digest(): Uint8Array {\n // TODO(dchest): it behaves differently than other hashes/HMAC,\n // because it throws when finished \u2014 others just return saved result.\n if (this._finished) {\n throw new Error(\"Poly1305 was finished\");\n }\n let mac = new Uint8Array(16);\n this.finish(mac);\n return mac;\n }\n\n clean(): this {\n wipe(this._buffer);\n wipe(this._r);\n wipe(this._h);\n wipe(this._pad);\n this._leftover = 0;\n this._fin = 0;\n this._finished = true; // mark as finished even if not\n return this;\n }\n}\n\n/**\n * Returns 16-byte authenticator of data using a one-time 32-byte key.\n *\n * Important: key should be used for only one message, it should never repeat.\n */\nexport function oneTimeAuth(key: Uint8Array, data: Uint8Array): Uint8Array {\n const h = new Poly1305(key);\n h.update(data);\n const digest = h.digest();\n h.clean();\n return digest;\n}\n\n/**\n * Returns true if two authenticators are 16-byte long and equal.\n * Uses contant-time comparison to avoid leaking timing information.\n */\nexport function equal(a: Uint8Array, b: Uint8Array): boolean {\n if (a.length !== DIGEST_LENGTH || b.length !== DIGEST_LENGTH) {\n return false;\n }\n return constantTimeEqual(a, b);\n}\n", "// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package chacha20poly1305 implements ChaCha20-Poly1305 AEAD.\n */\n\nimport { AEAD } from \"@stablelib/aead\";\nimport { streamXOR, stream } from \"@stablelib/chacha\";\nimport { Poly1305 } from \"@stablelib/poly1305\";\nimport { wipe } from \"@stablelib/wipe\";\nimport { writeUint64LE } from \"@stablelib/binary\";\nimport { equal } from \"@stablelib/constant-time\";\n\nexport const KEY_LENGTH = 32;\nexport const NONCE_LENGTH = 12;\nexport const TAG_LENGTH = 16;\n\nconst ZEROS = new Uint8Array(16);\n\n/**\n * ChaCha20-Poly1305 Authenticated Encryption with Associated Data.\n *\n * Defined in RFC7539.\n */\nexport class ChaCha20Poly1305 implements AEAD {\n readonly nonceLength = NONCE_LENGTH;\n readonly tagLength = TAG_LENGTH;\n\n private _key: Uint8Array;\n\n /**\n * Creates a new instance with the given 32-byte key.\n */\n constructor(key: Uint8Array) {\n if (key.length !== KEY_LENGTH) {\n throw new Error(\"ChaCha20Poly1305 needs 32-byte key\");\n }\n // Copy key.\n this._key = new Uint8Array(key);\n }\n\n /**\n * Encrypts and authenticates plaintext, authenticates associated data,\n * and returns sealed ciphertext, which includes authentication tag.\n *\n * RFC7539 specifies 12 bytes for nonce. It may be this 12-byte nonce\n * (\"IV\"), or full 16-byte counter (called \"32-bit fixed-common part\")\n * and nonce.\n *\n * If dst is given (it must be the size of plaintext + the size of tag\n * length) the result will be put into it. Dst and plaintext must not\n * overlap.\n */\n seal(nonce: Uint8Array, plaintext: Uint8Array, associatedData?: Uint8Array,\n dst?: Uint8Array): Uint8Array {\n if (nonce.length > 16) {\n throw new Error(\"ChaCha20Poly1305: incorrect nonce length\");\n }\n\n // Allocate space for counter, and set nonce as last bytes of it.\n const counter = new Uint8Array(16);\n counter.set(nonce, counter.length - nonce.length);\n\n // Generate authentication key by taking first 32-bytes of stream.\n // We pass full counter, which has 12-byte nonce and 4-byte block counter,\n // and it will get incremented after generating the block, which is\n // exactly what we need: we only use the first 32 bytes of 64-byte\n // ChaCha block and discard the next 32 bytes.\n const authKey = new Uint8Array(32);\n stream(this._key, counter, authKey, 4);\n\n // Allocate space for sealed ciphertext.\n const resultLength = plaintext.length + this.tagLength;\n let result;\n if (dst) {\n if (dst.length !== resultLength) {\n throw new Error(\"ChaCha20Poly1305: incorrect destination length\");\n }\n result = dst;\n } else {\n result = new Uint8Array(resultLength);\n }\n\n // Encrypt plaintext.\n streamXOR(this._key, counter, plaintext, result, 4);\n\n // Authenticate.\n // XXX: can \"simplify\" here: pass full result (which is already padded\n // due to zeroes prepared for tag), and ciphertext length instead of\n // subarray of result.\n this._authenticate(result.subarray(result.length - this.tagLength, result.length),\n authKey, result.subarray(0, result.length - this.tagLength), associatedData);\n\n // Cleanup.\n wipe(counter);\n\n return result;\n }\n\n /**\n * Authenticates sealed ciphertext (which includes authentication tag) and\n * associated data, decrypts ciphertext and returns decrypted plaintext.\n *\n * RFC7539 specifies 12 bytes for nonce. It may be this 12-byte nonce\n * (\"IV\"), or full 16-byte counter (called \"32-bit fixed-common part\")\n * and nonce.\n *\n * If authentication fails, it returns null.\n *\n * If dst is given (it must be of ciphertext length minus tag length),\n * the result will be put into it. Dst and plaintext must not overlap.\n */\n open(nonce: Uint8Array, sealed: Uint8Array, associatedData?: Uint8Array,\n dst?: Uint8Array): Uint8Array | null {\n if (nonce.length > 16) {\n throw new Error(\"ChaCha20Poly1305: incorrect nonce length\");\n }\n\n // Sealed ciphertext should at least contain tag.\n if (sealed.length < this.tagLength) {\n // TODO(dchest): should we throw here instead?\n return null;\n }\n\n // Allocate space for counter, and set nonce as last bytes of it.\n const counter = new Uint8Array(16);\n counter.set(nonce, counter.length - nonce.length);\n\n // Generate authentication key by taking first 32-bytes of stream.\n const authKey = new Uint8Array(32);\n stream(this._key, counter, authKey, 4);\n\n // Authenticate.\n // XXX: can simplify and avoid allocation: since authenticate()\n // already allocates tag (from Poly1305.digest(), it can return)\n // it instead of copying to calculatedTag. But then in seal()\n // we'll need to copy it.\n const calculatedTag = new Uint8Array(this.tagLength);\n this._authenticate(calculatedTag, authKey,\n sealed.subarray(0, sealed.length - this.tagLength), associatedData);\n\n // Constant-time compare tags and return null if they differ.\n if (!equal(calculatedTag,\n sealed.subarray(sealed.length - this.tagLength, sealed.length))) {\n return null;\n }\n\n // Allocate space for decrypted plaintext.\n const resultLength = sealed.length - this.tagLength;\n let result;\n if (dst) {\n if (dst.length !== resultLength) {\n throw new Error(\"ChaCha20Poly1305: incorrect destination length\");\n }\n result = dst;\n } else {\n result = new Uint8Array(resultLength);\n }\n\n // Decrypt.\n streamXOR(this._key, counter,\n sealed.subarray(0, sealed.length - this.tagLength), result, 4);\n\n // Cleanup.\n wipe(counter);\n\n return result;\n }\n\n clean(): this {\n wipe(this._key);\n return this;\n }\n\n private _authenticate(tagOut: Uint8Array, authKey: Uint8Array,\n ciphertext: Uint8Array, associatedData?: Uint8Array) {\n\n // Initialize Poly1305 with authKey.\n const h = new Poly1305(authKey);\n\n // Authenticate padded associated data.\n if (associatedData) {\n h.update(associatedData);\n if (associatedData.length % 16 > 0) {\n h.update(ZEROS.subarray(associatedData.length % 16));\n }\n }\n\n // Authenticate padded ciphertext.\n h.update(ciphertext);\n if (ciphertext.length % 16 > 0) {\n h.update(ZEROS.subarray(ciphertext.length % 16));\n }\n\n // Authenticate length of associated data.\n // XXX: can avoid allocation here?\n const length = new Uint8Array(8);\n if (associatedData) {\n writeUint64LE(associatedData.length, length);\n }\n h.update(length);\n\n // Authenticate length of ciphertext.\n writeUint64LE(ciphertext.length, length);\n h.update(length);\n\n // Get tag and copy it into tagOut.\n const tag = h.digest();\n for (let i = 0; i < tag.length; i++) {\n tagOut[i] = tag[i];\n }\n\n // Cleanup.\n h.clean();\n wipe(tag);\n wipe(length);\n }\n}\n", "// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package hash provides interface for hash functions.\n */\n\n/**\n * Hash interface describes properties of\n * cryptographic hash functions.\n */\nexport interface Hash {\n readonly digestLength: number;\n readonly blockSize: number;\n update(data: Uint8Array): this;\n reset(): this;\n finish(out: Uint8Array): this;\n digest(): Uint8Array;\n clean(): void;\n}\n\nexport interface SerializableHash extends Hash {\n saveState(): any;\n restoreState(savedState: any): this;\n cleanSavedState(savedState: any): void;\n}\n\nexport function isSerializableHash(h: Hash): h is SerializableHash {\n return (\n typeof (h as SerializableHash).saveState !== \"undefined\" &&\n typeof (h as SerializableHash).restoreState !== \"undefined\" &&\n typeof (h as SerializableHash).cleanSavedState !== \"undefined\"\n );\n}\n\n// TODO(dchest): figure out the standardized interface for XOF such as\n// SHAKE and BLAKE2X.\n", "// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package hmac implements HMAC algorithm.\n */\n\nimport { Hash, SerializableHash, isSerializableHash } from \"@stablelib/hash\";\nimport { equal as constantTimeEqual } from \"@stablelib/constant-time\";\nimport { wipe } from \"@stablelib/wipe\";\n\n/**\n * HMAC implements hash-based message authentication algorithm.\n */\nexport class HMAC implements SerializableHash {\n readonly blockSize: number;\n readonly digestLength: number;\n\n private _inner: Hash; // inner hash\n private _outer: Hash; // outer hash\n\n private _finished = false; // true if HMAC was finalized\n\n // Copies of hash states after keying.\n // Need for quick reset without hashing the key again.\n private _innerKeyedState: any | undefined;\n private _outerKeyedState: any | undefined;\n\n /**\n * Constructs a new HMAC with the given Hash and secret key.\n */\n constructor(hash: new () => Hash | SerializableHash, key: Uint8Array) {\n // Initialize inner and outer hashes.\n this._inner = new hash();\n this._outer = new hash();\n\n // Set block and digest sizes for this HMAC\n // instance to values from the hash.\n this.blockSize = this._outer.blockSize;\n this.digestLength = this._outer.digestLength;\n\n // Pad temporary stores a key (or its hash) padded with zeroes.\n const pad = new Uint8Array(this.blockSize);\n\n if (key.length > this.blockSize) {\n // If key is bigger than hash block size, it must be\n // hashed and this hash is used as a key instead.\n this._inner.update(key).finish(pad).clean();\n } else {\n // Otherwise, copy the key into pad.\n pad.set(key);\n }\n\n // Now two different keys are derived from padded key\n // by xoring a different byte value to each.\n\n // To make inner hash key, xor byte 0x36 into pad.\n for (let i = 0; i < pad.length; i++) {\n pad[i] ^= 0x36;\n }\n // Update inner hash with the result.\n this._inner.update(pad);\n\n // To make outer hash key, xor byte 0x5c into pad.\n // But since we already xored 0x36 there, we must\n // first undo this by xoring it again.\n for (let i = 0; i < pad.length; i++) {\n pad[i] ^= 0x36 ^ 0x5c;\n }\n // Update outer hash with the result.\n this._outer.update(pad);\n\n // Save states of both hashes, so that we can quickly restore\n // them later in reset() without the need to remember the actual\n // key and perform this initialization again.\n if (isSerializableHash(this._inner) && isSerializableHash(this._outer)) {\n this._innerKeyedState = this._inner.saveState();\n this._outerKeyedState = this._outer.saveState();\n }\n\n // Clean pad.\n wipe(pad);\n }\n\n /**\n * Returns HMAC state to the state initialized with key\n * to make it possible to run HMAC over the other data with the same\n * key without creating a new instance.\n */\n reset(): this {\n if (!isSerializableHash(this._inner) || !isSerializableHash(this._outer)) {\n throw new Error(\"hmac: can't reset() because hash doesn't implement restoreState()\");\n }\n // Restore keyed states of inner and outer hashes.\n this._inner.restoreState(this._innerKeyedState);\n this._outer.restoreState(this._outerKeyedState);\n this._finished = false;\n return this;\n }\n\n /**\n * Cleans HMAC state.\n */\n clean() {\n if (isSerializableHash(this._inner)) {\n this._inner.cleanSavedState(this._innerKeyedState);\n }\n if (isSerializableHash(this._outer)) {\n this._outer.cleanSavedState(this._outerKeyedState);\n }\n this._inner.clean();\n this._outer.clean();\n }\n\n /**\n * Updates state with provided data.\n */\n update(data: Uint8Array): this {\n this._inner.update(data);\n return this;\n }\n\n /**\n * Finalizes HMAC and puts the result in out.\n */\n finish(out: Uint8Array): this {\n if (this._finished) {\n // If HMAC was finalized, outer hash is also finalized,\n // so it produces the same digest it produced when it\n // was finalized.\n this._outer.finish(out);\n return this;\n }\n\n // Finalize inner hash and store the result temporarily.\n this._inner.finish(out);\n\n // Update outer hash with digest of inner hash and and finalize it.\n this._outer.update(out.subarray(0, this.digestLength)).finish(out);\n this._finished = true;\n\n return this;\n }\n\n /**\n * Returns the computed message authentication code.\n */\n digest(): Uint8Array {\n const out = new Uint8Array(this.digestLength);\n this.finish(out);\n return out;\n }\n\n /**\n * Saves HMAC state.\n * This function is needed for PBKDF2 optimization.\n */\n saveState(): any {\n if (!isSerializableHash(this._inner)) {\n throw new Error(\"hmac: can't saveState() because hash doesn't implement it\");\n }\n return this._inner.saveState();\n }\n\n restoreState(savedState: any): this {\n if (!isSerializableHash(this._inner) || !isSerializableHash(this._outer)) {\n throw new Error(\"hmac: can't restoreState() because hash doesn't implement it\");\n }\n this._inner.restoreState(savedState);\n this._outer.restoreState(this._outerKeyedState);\n this._finished = false;\n return this;\n }\n\n cleanSavedState(savedState: any) {\n if (!isSerializableHash(this._inner)) {\n throw new Error(\"hmac: can't cleanSavedState() because hash doesn't implement it\");\n }\n this._inner.cleanSavedState(savedState);\n }\n}\n\n/**\n * Returns HMAC using the given hash constructor for the key over data.\n */\nexport function hmac(hash: new () => Hash, key: Uint8Array, data: Uint8Array): Uint8Array {\n const h = new HMAC(hash, key);\n h.update(data);\n const digest = h.digest();\n h.clean();\n return digest;\n}\n\n/**\n * Returns true if two HMAC digests are equal.\n * Uses constant-time comparison to avoid leaking timing information.\n *\n * Example:\n *\n * const receivedDigest = ...\n * const realDigest = hmac(SHA256, key, data);\n * if (!equal(receivedDigest, realDigest)) {\n * throw new Error(\"Authentication error\");\n * }\n */\nexport const equal = constantTimeEqual;\n", "// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package hkdf implements HKDF key derivation function.\n */\n\nimport { Hash } from \"@stablelib/hash\";\nimport { HMAC, hmac } from \"@stablelib/hmac\";\nimport { wipe } from \"@stablelib/wipe\";\n\n/**\n * HMAC-based Extract-and-Expand Key Derivation Function.\n *\n * Implements HKDF from RFC5869.\n *\n * Expands the given master key with salt and info into\n * a limited stream of key material.\n */\nexport class HKDF {\n private _hmac: HMAC;\n private _buffer: Uint8Array;\n private _bufpos: number;\n private _counter = new Uint8Array(1); // starts with zero\n private _hash: new () => Hash;\n private _info?: Uint8Array;\n\n /**\n * Create a new HKDF instance for the given hash function\n * with the master key, optional salt, and info.\n *\n * - Master key is a high-entropy secret key (not a password).\n * - Salt is a non-secret random value.\n * - Info is application- and/or context-specific information.\n */\n constructor(hash: new () => Hash,\n key: Uint8Array,\n salt = new Uint8Array(0),\n info?: Uint8Array) {\n\n this._hash = hash;\n this._info = info;\n\n // HKDF-Extract uses salt as HMAC key, and key as data.\n const okm = hmac(this._hash, salt, key);\n\n // Initialize HMAC for expanding with extracted key.\n this._hmac = new HMAC(hash, okm);\n\n // Allocate buffer.\n this._buffer = new Uint8Array(this._hmac.digestLength);\n this._bufpos = this._buffer.length;\n }\n\n // Fill buffer with new block of HKDF-Extract output.\n private _fillBuffer(): void {\n // Increment counter.\n this._counter[0]++;\n\n const ctr = this._counter[0];\n\n // Check if counter overflowed.\n if (ctr === 0) {\n throw new Error(\"hkdf: cannot expand more\");\n }\n\n // Prepare HMAC instance for new data with old key.\n this._hmac.reset();\n\n // Hash in previous output if it was generated\n // (i.e. counter is greater than 1).\n if (ctr > 1) {\n this._hmac.update(this._buffer);\n }\n\n // Hash in info if it exists.\n if (this._info) {\n this._hmac.update(this._info);\n }\n\n // Hash in the counter.\n this._hmac.update(this._counter);\n\n // Output result to buffer and clean HMAC instance.\n this._hmac.finish(this._buffer);\n\n // Reset buffer position.\n this._bufpos = 0;\n }\n\n /**\n * Expand returns next key material of the given length.\n *\n * It throws if expansion limit is reached (which is\n * 254 digests of the underlying HMAC function).\n */\n expand(length: number): Uint8Array {\n const out = new Uint8Array(length);\n for (let i = 0; i < out.length; i++) {\n if (this._bufpos === this._buffer.length) {\n this._fillBuffer();\n }\n out[i] = this._buffer[this._bufpos++];\n }\n return out;\n }\n\n clean(): void {\n this._hmac.clean();\n wipe(this._buffer);\n wipe(this._counter);\n this._bufpos = 0;\n }\n}\n\n// TODO(dchest): maybe implement deriveKey?\n", "// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package sha256 implements SHA-2-256 cryptographic hash function.\n */\n\nimport { SerializableHash } from \"@stablelib/hash\";\nimport { readUint32BE, writeUint32BE } from \"@stablelib/binary\";\nimport { wipe } from \"@stablelib/wipe\";\n\nexport const DIGEST_LENGTH = 32;\nexport const BLOCK_SIZE = 64;\n\n/**\n * SHA2-256 cryptographic hash algorithm.\n */\nexport class SHA256 implements SerializableHash {\n /** Length of hash output */\n readonly digestLength: number = DIGEST_LENGTH;\n\n /** Block size */\n readonly blockSize: number = BLOCK_SIZE;\n\n // Note: Int32Array is used instead of Uint32Array for performance reasons.\n protected _state = new Int32Array(8); // hash state\n private _temp = new Int32Array(64); // temporary state\n private _buffer = new Uint8Array(128); // buffer for data to hash\n private _bufferLength = 0; // number of bytes in buffer\n private _bytesHashed = 0; // number of total bytes hashed\n private _finished = false; // indicates whether the hash was finalized\n\n constructor() {\n this.reset();\n }\n\n protected _initState() {\n this._state[0] = 0x6a09e667;\n this._state[1] = 0xbb67ae85;\n this._state[2] = 0x3c6ef372;\n this._state[3] = 0xa54ff53a;\n this._state[4] = 0x510e527f;\n this._state[5] = 0x9b05688c;\n this._state[6] = 0x1f83d9ab;\n this._state[7] = 0x5be0cd19;\n }\n\n /**\n * Resets hash state making it possible\n * to re-use this instance to hash other data.\n */\n reset(): this {\n this._initState();\n this._bufferLength = 0;\n this._bytesHashed = 0;\n this._finished = false;\n return this;\n }\n\n /**\n * Cleans internal buffers and resets hash state.\n */\n clean() {\n wipe(this._buffer);\n wipe(this._temp);\n this.reset();\n }\n\n /**\n * Updates hash state with the given data.\n *\n * Throws error when trying to update already finalized hash:\n * instance must be reset to update it again.\n */\n update(data: Uint8Array, dataLength: number = data.length): this {\n if (this._finished) {\n throw new Error(\"SHA256: can't update because hash was finished.\");\n }\n let dataPos = 0;\n this._bytesHashed += dataLength;\n if (this._bufferLength > 0) {\n while (this._bufferLength < this.blockSize && dataLength > 0) {\n this._buffer[this._bufferLength++] = data[dataPos++];\n dataLength--;\n }\n if (this._bufferLength === this.blockSize) {\n hashBlocks(this._temp, this._state, this._buffer, 0, this.blockSize);\n this._bufferLength = 0;\n }\n }\n if (dataLength >= this.blockSize) {\n dataPos = hashBlocks(this._temp, this._state, data, dataPos, dataLength);\n dataLength %= this.blockSize;\n }\n while (dataLength > 0) {\n this._buffer[this._bufferLength++] = data[dataPos++];\n dataLength--;\n }\n return this;\n }\n\n /**\n * Finalizes hash state and puts hash into out.\n * If hash was already finalized, puts the same value.\n */\n finish(out: Uint8Array): this {\n if (!this._finished) {\n const bytesHashed = this._bytesHashed;\n const left = this._bufferLength;\n const bitLenHi = (bytesHashed / 0x20000000) | 0;\n const bitLenLo = bytesHashed << 3;\n const padLength = (bytesHashed % 64 < 56) ? 64 : 128;\n\n this._buffer[left] = 0x80;\n for (let i = left + 1; i < padLength - 8; i++) {\n this._buffer[i] = 0;\n }\n writeUint32BE(bitLenHi, this._buffer, padLength - 8);\n writeUint32BE(bitLenLo, this._buffer, padLength - 4);\n\n hashBlocks(this._temp, this._state, this._buffer, 0, padLength);\n\n this._finished = true;\n }\n\n for (let i = 0; i < this.digestLength / 4; i++) {\n writeUint32BE(this._state[i], out, i * 4);\n }\n\n return this;\n }\n\n /**\n * Returns the final hash digest.\n */\n digest(): Uint8Array {\n const out = new Uint8Array(this.digestLength);\n this.finish(out);\n return out;\n }\n\n /**\n * Function useful for HMAC/PBKDF2 optimization.\n * Returns hash state to be used with restoreState().\n * Only chain value is saved, not buffers or other\n * state variables.\n */\n saveState(): SavedState {\n if (this._finished) {\n throw new Error(\"SHA256: cannot save finished state\");\n }\n return {\n state: new Int32Array(this._state),\n buffer: this._bufferLength > 0 ? new Uint8Array(this._buffer) : undefined,\n bufferLength: this._bufferLength,\n bytesHashed: this._bytesHashed\n };\n }\n\n /**\n * Function useful for HMAC/PBKDF2 optimization.\n * Restores state saved by saveState() and sets bytesHashed\n * to the given value.\n */\n restoreState(savedState: SavedState): this {\n this._state.set(savedState.state);\n this._bufferLength = savedState.bufferLength;\n if (savedState.buffer) {\n this._buffer.set(savedState.buffer);\n }\n this._bytesHashed = savedState.bytesHashed;\n this._finished = false;\n return this;\n }\n\n /**\n * Cleans state returned by saveState().\n */\n cleanSavedState(savedState: SavedState) {\n wipe(savedState.state);\n if (savedState.buffer) {\n wipe(savedState.buffer);\n }\n savedState.bufferLength = 0;\n savedState.bytesHashed = 0;\n }\n}\n\nexport type SavedState = {\n state: Int32Array;\n buffer: Uint8Array | undefined;\n bufferLength: number;\n bytesHashed: number;\n};\n\n// Constants\nconst K = new Int32Array([\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b,\n 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01,\n 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7,\n 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,\n 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152,\n 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147,\n 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc,\n 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819,\n 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08,\n 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f,\n 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n]);\n\nfunction hashBlocks(w: Int32Array, v: Int32Array, p: Uint8Array, pos: number, len: number): number {\n while (len >= 64) {\n let a = v[0];\n let b = v[1];\n let c = v[2];\n let d = v[3];\n let e = v[4];\n let f = v[5];\n let g = v[6];\n let h = v[7];\n\n for (let i = 0; i < 16; i++) {\n let j = pos + i * 4;\n w[i] = readUint32BE(p, j);\n }\n\n for (let i = 16; i < 64; i++) {\n let u = w[i - 2];\n let t1 = (u >>> 17 | u << (32 - 17)) ^ (u >>> 19 | u << (32 - 19)) ^ (u >>> 10);\n\n u = w[i - 15];\n let t2 = (u >>> 7 | u << (32 - 7)) ^ (u >>> 18 | u << (32 - 18)) ^ (u >>> 3);\n\n w[i] = (t1 + w[i - 7] | 0) + (t2 + w[i - 16] | 0);\n }\n\n for (let i = 0; i < 64; i++) {\n let t1 = (((((e >>> 6 | e << (32 - 6)) ^ (e >>> 11 | e << (32 - 11)) ^\n (e >>> 25 | e << (32 - 25))) + ((e & f) ^ (~e & g))) | 0) +\n ((h + ((K[i] + w[i]) | 0)) | 0)) | 0;\n\n let t2 = (((a >>> 2 | a << (32 - 2)) ^ (a >>> 13 | a << (32 - 13)) ^\n (a >>> 22 | a << (32 - 22))) + ((a & b) ^ (a & c) ^ (b & c))) | 0;\n\n h = g;\n g = f;\n f = e;\n e = (d + t1) | 0;\n d = c;\n c = b;\n b = a;\n a = (t1 + t2) | 0;\n }\n\n v[0] += a;\n v[1] += b;\n v[2] += c;\n v[3] += d;\n v[4] += e;\n v[5] += f;\n v[6] += g;\n v[7] += h;\n\n pos += 64;\n len -= 64;\n }\n return pos;\n}\n\nexport function hash(data: Uint8Array): Uint8Array {\n const h = new SHA256();\n h.update(data);\n const digest = h.digest();\n h.clean();\n return digest;\n}\n", "// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n\n/**\n * Package x25519 implements X25519 key agreement.\n */\n\nimport { randomBytes, RandomSource } from \"@stablelib/random\";\nimport { wipe } from \"@stablelib/wipe\";\n\nexport const PUBLIC_KEY_LENGTH = 32;\nexport const SECRET_KEY_LENGTH = 32;\nexport const SHARED_KEY_LENGTH = 32;\n\n// TODO(dchest): some functions are copies of ../sign/ed25519.\n// Find a way to combine them without opening up to public.\n\n// Ported from TweetNaCl.js, which is ported from TweetNaCl\n// by Dmitry Chestnykh and Devi Mandiri.\n// Public domain.\n// https://tweetnacl.js.org\n\n// TweetNaCl contributors:\n// Daniel J. Bernstein, Bernard van Gastel, Wesley Janssen,\n// Tanja Lange, Peter Schwabe, Sjaak Smetsers.\n// Public domain.\n// https://tweetnacl.cr.yp.to/\n\ntype GF = Float64Array;\n\n// Returns new zero-filled 16-element GF (Float64Array).\n// If passed an array of numbers, prefills the returned\n// array with them.\n//\n// We use Float64Array, because we need 48-bit numbers\n// for this implementation.\nfunction gf(init?: number[]): GF {\n const r = new Float64Array(16);\n if (init) {\n for (let i = 0; i < init.length; i++) {\n r[i] = init[i];\n }\n }\n return r;\n}\n\n// Base point.\nconst _9 = new Uint8Array(32); _9[0] = 9;\n\nconst _121665 = gf([0xdb41, 1]);\n\nfunction car25519(o: GF) {\n let c = 1;\n for (let i = 0; i < 16; i++) {\n let v = o[i] + c + 65535;\n c = Math.floor(v / 65536);\n o[i] = v - c * 65536;\n }\n o[0] += c - 1 + 37 * (c - 1);\n}\n\nfunction sel25519(p: GF, q: GF, b: number) {\n const c = ~(b - 1);\n for (let i = 0; i < 16; i++) {\n const t = c & (p[i] ^ q[i]);\n p[i] ^= t;\n q[i] ^= t;\n }\n}\n\nfunction pack25519(o: Uint8Array, n: GF) {\n const m = gf();\n const t = gf();\n for (let i = 0; i < 16; i++) {\n t[i] = n[i];\n }\n car25519(t);\n car25519(t);\n car25519(t);\n for (let j = 0; j < 2; j++) {\n m[0] = t[0] - 0xffed;\n for (let i = 1; i < 15; i++) {\n m[i] = t[i] - 0xffff - ((m[i - 1] >> 16) & 1);\n m[i - 1] &= 0xffff;\n }\n m[15] = t[15] - 0x7fff - ((m[14] >> 16) & 1);\n const b = (m[15] >> 16) & 1;\n m[14] &= 0xffff;\n sel25519(t, m, 1 - b);\n }\n for (let i = 0; i < 16; i++) {\n o[2 * i] = t[i] & 0xff;\n o[2 * i + 1] = t[i] >> 8;\n }\n}\n\nfunction unpack25519(o: GF, n: Uint8Array) {\n for (let i = 0; i < 16; i++) {\n o[i] = n[2 * i] + (n[2 * i + 1] << 8);\n }\n o[15] &= 0x7fff;\n}\n\nfunction add(o: GF, a: GF, b: GF) {\n for (let i = 0; i < 16; i++) {\n o[i] = a[i] + b[i];\n }\n}\n\nfunction sub(o: GF, a: GF, b: GF) {\n for (let i = 0; i < 16; i++) {\n o[i] = a[i] - b[i];\n }\n}\n\nfunction mul(o: GF, a: GF, b: GF) {\n let v: number, c: number,\n t0 = 0, t1 = 0, t2 = 0, t3 = 0, t4 = 0, t5 = 0, t6 = 0, t7 = 0,\n t8 = 0, t9 = 0, t10 = 0, t11 = 0, t12 = 0, t13 = 0, t14 = 0, t15 = 0,\n t16 = 0, t17 = 0, t18 = 0, t19 = 0, t20 = 0, t21 = 0, t22 = 0, t23 = 0,\n t24 = 0, t25 = 0, t26 = 0, t27 = 0, t28 = 0, t29 = 0, t30 = 0,\n b0 = b[0],\n b1 = b[1],\n b2 = b[2],\n b3 = b[3],\n b4 = b[4],\n b5 = b[5],\n b6 = b[6],\n b7 = b[7],\n b8 = b[8],\n b9 = b[9],\n b10 = b[10],\n b11 = b[11],\n b12 = b[12],\n b13 = b[13],\n b14 = b[14],\n b15 = b[15];\n\n v = a[0];\n t0 += v * b0;\n t1 += v * b1;\n t2 += v * b2;\n t3 += v * b3;\n t4 += v * b4;\n t5 += v * b5;\n t6 += v * b6;\n t7 += v * b7;\n t8 += v * b8;\n t9 += v * b9;\n t10 += v * b10;\n t11 += v * b11;\n t12 += v * b12;\n t13 += v * b13;\n t14 += v * b14;\n t15 += v * b15;\n v = a[1];\n t1 += v * b0;\n t2 += v * b1;\n t3 += v * b2;\n t4 += v * b3;\n t5 += v * b4;\n t6 += v * b5;\n t7 += v * b6;\n t8 += v * b7;\n t9 += v * b8;\n t10 += v * b9;\n t11 += v * b10;\n t12 += v * b11;\n t13 += v * b12;\n t14 += v * b13;\n t15 += v * b14;\n t16 += v * b15;\n v = a[2];\n t2 += v * b0;\n t3 += v * b1;\n t4 += v * b2;\n t5 += v * b3;\n t6 += v * b4;\n t7 += v * b5;\n t8 += v * b6;\n t9 += v * b7;\n t10 += v * b8;\n t11 += v * b9;\n t12 += v * b10;\n t13 += v * b11;\n t14 += v * b12;\n t15 += v * b13;\n t16 += v * b14;\n t17 += v * b15;\n v = a[3];\n t3 += v * b0;\n t4 += v * b1;\n t5 += v * b2;\n t6 += v * b3;\n t7 += v * b4;\n t8 += v * b5;\n t9 += v * b6;\n t10 += v * b7;\n t11 += v * b8;\n t12 += v * b9;\n t13 += v * b10;\n t14 += v * b11;\n t15 += v * b12;\n t16 += v * b13;\n t17 += v * b14;\n t18 += v * b15;\n v = a[4];\n t4 += v * b0;\n t5 += v * b1;\n t6 += v * b2;\n t7 += v * b3;\n t8 += v * b4;\n t9 += v * b5;\n t10 += v * b6;\n t11 += v * b7;\n t12 += v * b8;\n t13 += v * b9;\n t14 += v * b10;\n t15 += v * b11;\n t16 += v * b12;\n t17 += v * b13;\n t18 += v * b14;\n t19 += v * b15;\n v = a[5];\n t5 += v * b0;\n t6 += v * b1;\n t7 += v * b2;\n t8 += v * b3;\n t9 += v * b4;\n t10 += v * b5;\n t11 += v * b6;\n t12 += v * b7;\n t13 += v * b8;\n t14 += v * b9;\n t15 += v * b10;\n t16 += v * b11;\n t17 += v * b12;\n t18 += v * b13;\n t19 += v * b14;\n t20 += v * b15;\n v = a[6];\n t6 += v * b0;\n t7 += v * b1;\n t8 += v * b2;\n t9 += v * b3;\n t10 += v * b4;\n t11 += v * b5;\n t12 += v * b6;\n t13 += v * b7;\n t14 += v * b8;\n t15 += v * b9;\n t16 += v * b10;\n t17 += v * b11;\n t18 += v * b12;\n t19 += v * b13;\n t20 += v * b14;\n t21 += v * b15;\n v = a[7];\n t7 += v * b0;\n t8 += v * b1;\n t9 += v * b2;\n t10 += v * b3;\n t11 += v * b4;\n t12 += v * b5;\n t13 += v * b6;\n t14 += v * b7;\n t15 += v * b8;\n t16 += v * b9;\n t17 += v * b10;\n t18 += v * b11;\n t19 += v * b12;\n t20 += v * b13;\n t21 += v * b14;\n t22 += v * b15;\n v = a[8];\n t8 += v * b0;\n t9 += v * b1;\n t10 += v * b2;\n t11 += v * b3;\n t12 += v * b4;\n t13 += v * b5;\n t14 += v * b6;\n t15 += v * b7;\n t16 += v * b8;\n t17 += v * b9;\n t18 += v * b10;\n t19 += v * b11;\n t20 += v * b12;\n t21 += v * b13;\n t22 += v * b14;\n t23 += v * b15;\n v = a[9];\n t9 += v * b0;\n t10 += v * b1;\n t11 += v * b2;\n t12 += v * b3;\n t13 += v * b4;\n t14 += v * b5;\n t15 += v * b6;\n t16 += v * b7;\n t17 += v * b8;\n t18 += v * b9;\n t19 += v * b10;\n t20 += v * b11;\n t21 += v * b12;\n t22 += v * b13;\n t23 += v * b14;\n t24 += v * b15;\n v = a[10];\n t10 += v * b0;\n t11 += v * b1;\n t12 += v * b2;\n t13 += v * b3;\n t14 += v * b4;\n t15 += v * b5;\n t16 += v * b6;\n t17 += v * b7;\n t18 += v * b8;\n t19 += v * b9;\n t20 += v * b10;\n t21 += v * b11;\n t22 += v * b12;\n t23 += v * b13;\n t24 += v * b14;\n t25 += v * b15;\n v = a[11];\n t11 += v * b0;\n t12 += v * b1;\n t13 += v * b2;\n t14 += v * b3;\n t15 += v * b4;\n t16 += v * b5;\n t17 += v * b6;\n t18 += v * b7;\n t19 += v * b8;\n t20 += v * b9;\n t21 += v * b10;\n t22 += v * b11;\n t23 += v * b12;\n t24 += v * b13;\n t25 += v * b14;\n t26 += v * b15;\n v = a[12];\n t12 += v * b0;\n t13 += v * b1;\n t14 += v * b2;\n t15 += v * b3;\n t16 += v * b4;\n t17 += v * b5;\n t18 += v * b6;\n t19 += v * b7;\n t20 += v * b8;\n t21 += v * b9;\n t22 += v * b10;\n t23 += v * b11;\n t24 += v * b12;\n t25 += v * b13;\n t26 += v * b14;\n t27 += v * b15;\n v = a[13];\n t13 += v * b0;\n t14 += v * b1;\n t15 += v * b2;\n t16 += v * b3;\n t17 += v * b4;\n t18 += v * b5;\n t19 += v * b6;\n t20 += v * b7;\n t21 += v * b8;\n t22 += v * b9;\n t23 += v * b10;\n t24 += v * b11;\n t25 += v * b12;\n t26 += v * b13;\n t27 += v * b14;\n t28 += v * b15;\n v = a[14];\n t14 += v * b0;\n t15 += v * b1;\n t16 += v * b2;\n t17 += v * b3;\n t18 += v * b4;\n t19 += v * b5;\n t20 += v * b6;\n t21 += v * b7;\n t22 += v * b8;\n t23 += v * b9;\n t24 += v * b10;\n t25 += v * b11;\n t26 += v * b12;\n t27 += v * b13;\n t28 += v * b14;\n t29 += v * b15;\n v = a[15];\n t15 += v * b0;\n t16 += v * b1;\n t17 += v * b2;\n t18 += v * b3;\n t19 += v * b4;\n t20 += v * b5;\n t21 += v * b6;\n t22 += v * b7;\n t23 += v * b8;\n t24 += v * b9;\n t25 += v * b10;\n t26 += v * b11;\n t27 += v * b12;\n t28 += v * b13;\n t29 += v * b14;\n t30 += v * b15;\n\n t0 += 38 * t16;\n t1 += 38 * t17;\n t2 += 38 * t18;\n t3 += 38 * t19;\n t4 += 38 * t20;\n t5 += 38 * t21;\n t6 += 38 * t22;\n t7 += 38 * t23;\n t8 += 38 * t24;\n t9 += 38 * t25;\n t10 += 38 * t26;\n t11 += 38 * t27;\n t12 += 38 * t28;\n t13 += 38 * t29;\n t14 += 38 * t30;\n // t15 left as is\n\n // first car\n c = 1;\n v = t0 + c + 65535; c = Math.floor(v / 65536); t0 = v - c * 65536;\n v = t1 + c + 65535; c = Math.floor(v / 65536); t1 = v - c * 65536;\n v = t2 + c + 65535; c = Math.floor(v / 65536); t2 = v - c * 65536;\n v = t3 + c + 65535; c = Math.floor(v / 65536); t3 = v - c * 65536;\n v = t4 + c + 65535; c = Math.floor(v / 65536); t4 = v - c * 65536;\n v = t5 + c + 65535; c = Math.floor(v / 65536); t5 = v - c * 65536;\n v = t6 + c + 65535; c = Math.floor(v / 65536); t6 = v - c * 65536;\n v = t7 + c + 65535; c = Math.floor(v / 65536); t7 = v - c * 65536;\n v = t8 + c + 65535; c = Math.floor(v / 65536); t8 = v - c * 65536;\n v = t9 + c + 65535; c = Math.floor(v / 65536); t9 = v - c * 65536;\n v = t10 + c + 65535; c = Math.floor(v / 65536); t10 = v - c * 65536;\n v = t11 + c + 65535; c = Math.floor(v / 65536); t11 = v - c * 65536;\n v = t12 + c + 65535; c = Math.floor(v / 65536); t12 = v - c * 65536;\n v = t13 + c + 65535; c = Math.floor(v / 65536); t13 = v - c * 65536;\n v = t14 + c + 65535; c = Math.floor(v / 65536); t14 = v - c * 65536;\n v = t15 + c + 65535; c = Math.floor(v / 65536); t15 = v - c * 65536;\n t0 += c - 1 + 37 * (c - 1);\n\n // second car\n c = 1;\n v = t0 + c + 65535; c = Math.floor(v / 65536); t0 = v - c * 65536;\n v = t1 + c + 65535; c = Math.floor(v / 65536); t1 = v - c * 65536;\n v = t2 + c + 65535; c = Math.floor(v / 65536); t2 = v - c * 65536;\n v = t3 + c + 65535; c = Math.floor(v / 65536); t3 = v - c * 65536;\n v = t4 + c + 65535; c = Math.floor(v / 65536); t4 = v - c * 65536;\n v = t5 + c + 65535; c = Math.floor(v / 65536); t5 = v - c * 65536;\n v = t6 + c + 65535; c = Math.floor(v / 65536); t6 = v - c * 65536;\n v = t7 + c + 65535; c = Math.floor(v / 65536); t7 = v - c * 65536;\n v = t8 + c + 65535; c = Math.floor(v / 65536); t8 = v - c * 65536;\n v = t9 + c + 65535; c = Math.floor(v / 65536); t9 = v - c * 65536;\n v = t10 + c + 65535; c = Math.floor(v / 65536); t10 = v - c * 65536;\n v = t11 + c + 65535; c = Math.floor(v / 65536); t11 = v - c * 65536;\n v = t12 + c + 65535; c = Math.floor(v / 65536); t12 = v - c * 65536;\n v = t13 + c + 65535; c = Math.floor(v / 65536); t13 = v - c * 65536;\n v = t14 + c + 65535; c = Math.floor(v / 65536); t14 = v - c * 65536;\n v = t15 + c + 65535; c = Math.floor(v / 65536); t15 = v - c * 65536;\n t0 += c - 1 + 37 * (c - 1);\n\n o[0] = t0;\n o[1] = t1;\n o[2] = t2;\n o[3] = t3;\n o[4] = t4;\n o[5] = t5;\n o[6] = t6;\n o[7] = t7;\n o[8] = t8;\n o[9] = t9;\n o[10] = t10;\n o[11] = t11;\n o[12] = t12;\n o[13] = t13;\n o[14] = t14;\n o[15] = t15;\n}\n\nfunction square(o: GF, a: GF) {\n mul(o, a, a);\n}\n\nfunction inv25519(o: GF, inp: GF) {\n const c = gf();\n for (let i = 0; i < 16; i++) {\n c[i] = inp[i];\n }\n for (let i = 253; i >= 0; i--) {\n square(c, c);\n if (i !== 2 && i !== 4) {\n mul(c, c, inp);\n }\n }\n for (let i = 0; i < 16; i++) {\n o[i] = c[i];\n }\n}\n\nexport function scalarMult(n: Uint8Array, p: Uint8Array): Uint8Array {\n const z = new Uint8Array(32);\n const x = new Float64Array(80);\n const a = gf(), b = gf(), c = gf(),\n d = gf(), e = gf(), f = gf();\n\n for (let i = 0; i < 31; i++) {\n z[i] = n[i];\n }\n z[31] = (n[31] & 127) | 64;\n z[0] &= 248;\n\n unpack25519(x, p);\n\n for (let i = 0; i < 16; i++) {\n b[i] = x[i];\n }\n\n a[0] = d[0] = 1;\n\n for (let i = 254; i >= 0; --i) {\n const r = (z[i >>> 3] >>> (i & 7)) & 1;\n sel25519(a, b, r);\n sel25519(c, d, r);\n add(e, a, c);\n sub(a, a, c);\n add(c, b, d);\n sub(b, b, d);\n square(d, e);\n square(f, a);\n mul(a, c, a);\n mul(c, b, e);\n add(e, a, c);\n sub(a, a, c);\n square(b, a);\n sub(c, d, f);\n mul(a, c, _121665);\n add(a, a, d);\n mul(c, c, a);\n mul(a, d, f);\n mul(d, b, x);\n square(b, e);\n sel25519(a, b, r);\n sel25519(c, d, r);\n }\n for (let i = 0; i < 16; i++) {\n x[i + 16] = a[i];\n x[i + 32] = c[i];\n x[i + 48] = b[i];\n x[i + 64] = d[i];\n }\n const x32 = x.subarray(32);\n const x16 = x.subarray(16);\n inv25519(x32, x32);\n mul(x16, x16, x32);\n const q = new Uint8Array(32);\n pack25519(q, x16);\n return q;\n}\n\nexport function scalarMultBase(n: Uint8Array): Uint8Array {\n return scalarMult(n, _9);\n}\n\nexport interface KeyPair {\n publicKey: Uint8Array;\n secretKey: Uint8Array;\n}\n\nexport function generateKeyPairFromSeed(seed: Uint8Array): KeyPair {\n if (seed.length !== SECRET_KEY_LENGTH) {\n throw new Error(`x25519: seed must be ${SECRET_KEY_LENGTH} bytes`);\n }\n const secretKey = new Uint8Array(seed);\n const publicKey = scalarMultBase(secretKey);\n return {\n publicKey,\n secretKey\n };\n}\n\nexport function generateKeyPair(prng?: RandomSource): KeyPair {\n const seed = randomBytes(32, prng);\n const result = generateKeyPairFromSeed(seed);\n wipe(seed);\n return result;\n}\n\n/**\n * Returns a shared key between our secret key and a peer's public key.\n *\n * Throws an error if the given keys are of wrong length.\n *\n * If rejectZero is true throws if the calculated shared key is all-zero.\n * From RFC 7748:\n *\n * > Protocol designers using Diffie-Hellman over the curves defined in\n * > this document must not assume \"contributory behavior\". Specially,\n * > contributory behavior means that both parties' private keys\n * > contribute to the resulting shared key. Since curve25519 and\n * > curve448 have cofactors of 8 and 4 (respectively), an input point of\n * > small order will eliminate any contribution from the other party's\n * > private key. This situation can be detected by checking for the all-\n * > zero output, which implementations MAY do, as specified in Section 6.\n * > However, a large number of existing implementations do not do this.\n *\n * IMPORTANT: the returned key is a raw result of scalar multiplication.\n * To use it as a key material, hash it with a cryptographic hash function.\n */\nexport function sharedKey(mySecretKey: Uint8Array, theirPublicKey: Uint8Array, rejectZero = false): Uint8Array {\n if (mySecretKey.length !== PUBLIC_KEY_LENGTH) {\n throw new Error(\"X25519: incorrect secret key length\");\n }\n if (theirPublicKey.length !== PUBLIC_KEY_LENGTH) {\n throw new Error(\"X25519: incorrect public key length\");\n }\n\n const result = scalarMult(mySecretKey, theirPublicKey);\n\n if (rejectZero) {\n let zeros = 0;\n for (let i = 0; i < result.length; i++) {\n zeros |= result[i];\n }\n if (zeros === 0) {\n throw new Error(\"X25519: invalid shared key\");\n }\n }\n\n return result;\n}\n", null, null, "'use strict';\nmodule.exports = str => encodeURIComponent(str).replace(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);\n", "'use strict';\nvar token = '%[a-f0-9]{2}';\nvar singleMatcher = new RegExp('(' + token + ')|([^%]+?)', 'gi');\nvar multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn [decodeURIComponent(components.join(''))];\n\t} catch (err) {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tvar left = components.slice(0, split);\n\tvar right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch (err) {\n\t\tvar tokens = input.match(singleMatcher) || [];\n\n\t\tfor (var i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher) || [];\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tvar replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD'\n\t};\n\n\tvar match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch (err) {\n\t\t\tvar result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tvar entries = Object.keys(replaceMap);\n\n\tfor (var i = 0; i < entries.length; i++) {\n\t\t// Replace all decoded components\n\t\tvar key = entries[i];\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nmodule.exports = function (encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\tencodedURI = encodedURI.replace(/\\+/g, ' ');\n\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch (err) {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n};\n", "'use strict';\n\nmodule.exports = (string, separator) => {\n\tif (!(typeof string === 'string' && typeof separator === 'string')) {\n\t\tthrow new TypeError('Expected the arguments to be of type `string`');\n\t}\n\n\tif (separator === '') {\n\t\treturn [string];\n\t}\n\n\tconst separatorIndex = string.indexOf(separator);\n\n\tif (separatorIndex === -1) {\n\t\treturn [string];\n\t}\n\n\treturn [\n\t\tstring.slice(0, separatorIndex),\n\t\tstring.slice(separatorIndex + separator.length)\n\t];\n};\n", "'use strict';\nmodule.exports = function (obj, predicate) {\n\tvar ret = {};\n\tvar keys = Object.keys(obj);\n\tvar isArr = Array.isArray(predicate);\n\n\tfor (var i = 0; i < keys.length; i++) {\n\t\tvar key = keys[i];\n\t\tvar val = obj[key];\n\n\t\tif (isArr ? predicate.indexOf(key) !== -1 : predicate(key, val, obj)) {\n\t\t\tret[key] = val;\n\t\t}\n\t}\n\n\treturn ret;\n};\n", "'use strict';\nconst strictUriEncode = require('strict-uri-encode');\nconst decodeComponent = require('decode-uri-component');\nconst splitOnFirst = require('split-on-first');\nconst filterObject = require('filter-obj');\n\nconst isNullOrUndefined = value => value === null || value === undefined;\n\nconst encodeFragmentIdentifier = Symbol('encodeFragmentIdentifier');\n\nfunction encoderForArrayFormat(options) {\n\tswitch (options.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tconst index = result.length;\n\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), '[', index, ']'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join('')\n\t\t\t\t];\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), '[]'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '[]=', encode(value, options)].join('')];\n\t\t\t};\n\n\t\tcase 'colon-list-separator':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), ':list='].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), ':list=', encode(value, options)].join('')];\n\t\t\t};\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\tcase 'bracket-separator': {\n\t\t\tconst keyValueSep = options.arrayFormat === 'bracket-separator' ?\n\t\t\t\t'[]=' :\n\t\t\t\t'=';\n\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\t// Translate null to an empty string so that it doesn't serialize as 'null'\n\t\t\t\tvalue = value === null ? '' : value;\n\n\t\t\t\tif (result.length === 0) {\n\t\t\t\t\treturn [[encode(key, options), keyValueSep, encode(value, options)].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [[result, encode(value, options)].join(options.arrayFormatSeparator)];\n\t\t\t};\n\t\t}\n\n\t\tdefault:\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, encode(key, options)];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '=', encode(value, options)].join('')];\n\t\t\t};\n\t}\n}\n\nfunction parserForArrayFormat(options) {\n\tlet result;\n\n\tswitch (options.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /\\[(\\d*)\\]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(\\[\\])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\n\t\tcase 'colon-list-separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(:list)$/.exec(key);\n\t\t\t\tkey = key.replace(/:list$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = typeof value === 'string' && value.includes(options.arrayFormatSeparator);\n\t\t\t\tconst isEncodedArray = (typeof value === 'string' && !isArray && decode(value, options).includes(options.arrayFormatSeparator));\n\t\t\t\tvalue = isEncodedArray ? decode(value, options) : value;\n\t\t\t\tconst newValue = isArray || isEncodedArray ? value.split(options.arrayFormatSeparator).map(item => decode(item, options)) : value === null ? value : decode(value, options);\n\t\t\t\taccumulator[key] = newValue;\n\t\t\t};\n\n\t\tcase 'bracket-separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = /(\\[\\])$/.test(key);\n\t\t\t\tkey = key.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (!isArray) {\n\t\t\t\t\taccumulator[key] = value ? decode(value, options) : value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst arrayValue = value === null ?\n\t\t\t\t\t[] :\n\t\t\t\t\tvalue.split(options.arrayFormatSeparator).map(item => decode(item, options));\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = arrayValue;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], arrayValue);\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\t}\n}\n\nfunction validateArrayFormatSeparator(value) {\n\tif (typeof value !== 'string' || value.length !== 1) {\n\t\tthrow new TypeError('arrayFormatSeparator must be single character string');\n\t}\n}\n\nfunction encode(value, options) {\n\tif (options.encode) {\n\t\treturn options.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction decode(value, options) {\n\tif (options.decode) {\n\t\treturn decodeComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t}\n\n\tif (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input))\n\t\t\t.sort((a, b) => Number(a) - Number(b))\n\t\t\t.map(key => input[key]);\n\t}\n\n\treturn input;\n}\n\nfunction removeHash(input) {\n\tconst hashStart = input.indexOf('#');\n\tif (hashStart !== -1) {\n\t\tinput = input.slice(0, hashStart);\n\t}\n\n\treturn input;\n}\n\nfunction getHash(url) {\n\tlet hash = '';\n\tconst hashStart = url.indexOf('#');\n\tif (hashStart !== -1) {\n\t\thash = url.slice(hashStart);\n\t}\n\n\treturn hash;\n}\n\nfunction extract(input) {\n\tinput = removeHash(input);\n\tconst queryStart = input.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\n\treturn input.slice(queryStart + 1);\n}\n\nfunction parseValue(value, options) {\n\tif (options.parseNumbers && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\tvalue = Number(value);\n\t} else if (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {\n\t\tvalue = value.toLowerCase() === 'true';\n\t}\n\n\treturn value;\n}\n\nfunction parse(query, options) {\n\toptions = Object.assign({\n\t\tdecode: true,\n\t\tsort: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\tparseNumbers: false,\n\t\tparseBooleans: false\n\t}, options);\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst formatter = parserForArrayFormat(options);\n\n\t// Create an object with no prototype\n\tconst ret = Object.create(null);\n\n\tif (typeof query !== 'string') {\n\t\treturn ret;\n\t}\n\n\tquery = query.trim().replace(/^[?#&]/, '');\n\n\tif (!query) {\n\t\treturn ret;\n\t}\n\n\tfor (const param of query.split('&')) {\n\t\tif (param === '') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet [key, value] = splitOnFirst(options.decode ? param.replace(/\\+/g, ' ') : param, '=');\n\n\t\t// Missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tvalue = value === undefined ? null : ['comma', 'separator', 'bracket-separator'].includes(options.arrayFormat) ? value : decode(value, options);\n\t\tformatter(decode(key, options), value, ret);\n\t}\n\n\tfor (const key of Object.keys(ret)) {\n\t\tconst value = ret[key];\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfor (const k of Object.keys(value)) {\n\t\t\t\tvalue[k] = parseValue(value[k], options);\n\t\t\t}\n\t\t} else {\n\t\t\tret[key] = parseValue(value, options);\n\t\t}\n\t}\n\n\tif (options.sort === false) {\n\t\treturn ret;\n\t}\n\n\treturn (options.sort === true ? Object.keys(ret).sort() : Object.keys(ret).sort(options.sort)).reduce((result, key) => {\n\t\tconst value = ret[key];\n\t\tif (Boolean(value) && typeof value === 'object' && !Array.isArray(value)) {\n\t\t\t// Sort object keys, not values\n\t\t\tresult[key] = keysSorter(value);\n\t\t} else {\n\t\t\tresult[key] = value;\n\t\t}\n\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexports.extract = extract;\nexports.parse = parse;\n\nexports.stringify = (object, options) => {\n\tif (!object) {\n\t\treturn '';\n\t}\n\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ','\n\t}, options);\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst shouldFilter = key => (\n\t\t(options.skipNull && isNullOrUndefined(object[key])) ||\n\t\t(options.skipEmptyString && object[key] === '')\n\t);\n\n\tconst formatter = encoderForArrayFormat(options);\n\n\tconst objectCopy = {};\n\n\tfor (const key of Object.keys(object)) {\n\t\tif (!shouldFilter(key)) {\n\t\t\tobjectCopy[key] = object[key];\n\t\t}\n\t}\n\n\tconst keys = Object.keys(objectCopy);\n\n\tif (options.sort !== false) {\n\t\tkeys.sort(options.sort);\n\t}\n\n\treturn keys.map(key => {\n\t\tconst value = object[key];\n\n\t\tif (value === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (value === null) {\n\t\t\treturn encode(key, options);\n\t\t}\n\n\t\tif (Array.isArray(value)) {\n\t\t\tif (value.length === 0 && options.arrayFormat === 'bracket-separator') {\n\t\t\t\treturn encode(key, options) + '[]';\n\t\t\t}\n\n\t\t\treturn value\n\t\t\t\t.reduce(formatter(key), [])\n\t\t\t\t.join('&');\n\t\t}\n\n\t\treturn encode(key, options) + '=' + encode(value, options);\n\t}).filter(x => x.length > 0).join('&');\n};\n\nexports.parseUrl = (url, options) => {\n\toptions = Object.assign({\n\t\tdecode: true\n\t}, options);\n\n\tconst [url_, hash] = splitOnFirst(url, '#');\n\n\treturn Object.assign(\n\t\t{\n\t\t\turl: url_.split('?')[0] || '',\n\t\t\tquery: parse(extract(url), options)\n\t\t},\n\t\toptions && options.parseFragmentIdentifier && hash ? {fragmentIdentifier: decode(hash, options)} : {}\n\t);\n};\n\nexports.stringifyUrl = (object, options) => {\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true,\n\t\t[encodeFragmentIdentifier]: true\n\t}, options);\n\n\tconst url = removeHash(object.url).split('?')[0] || '';\n\tconst queryFromUrl = exports.extract(object.url);\n\tconst parsedQueryFromUrl = exports.parse(queryFromUrl, {sort: false});\n\n\tconst query = Object.assign(parsedQueryFromUrl, object.query);\n\tlet queryString = exports.stringify(query, options);\n\tif (queryString) {\n\t\tqueryString = `?${queryString}`;\n\t}\n\n\tlet hash = getHash(object.url);\n\tif (object.fragmentIdentifier) {\n\t\thash = `#${options[encodeFragmentIdentifier] ? encode(object.fragmentIdentifier, options) : object.fragmentIdentifier}`;\n\t}\n\n\treturn `${url}${queryString}${hash}`;\n};\n\nexports.pick = (input, filter, options) => {\n\toptions = Object.assign({\n\t\tparseFragmentIdentifier: true,\n\t\t[encodeFragmentIdentifier]: false\n\t}, options);\n\n\tconst {url, query, fragmentIdentifier} = exports.parseUrl(input, options);\n\treturn exports.stringifyUrl({\n\t\turl,\n\t\tquery: filterObject(query, filter),\n\t\tfragmentIdentifier\n\t}, options);\n};\n\nexports.exclude = (input, filter, options) => {\n\tconst exclusionFilter = Array.isArray(filter) ? key => !filter.includes(key) : (key, value) => !filter(key, value);\n\n\treturn exports.pick(input, exclusionFilter, options);\n};\n", "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", null, null, null, "'use strict';\n\nmodule.exports = function () {\n throw new Error(\n 'ws does not work in the browser. Browser clients must use the native ' +\n 'WebSocket object'\n );\n};\n", "/**\n * Lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors <https://js.foundation/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = isEqual;\n", "module.exports = Long;\r\n\r\n/**\r\n * wasm optimizations, to do native i64 multiplication and divide\r\n */\r\nvar wasm = null;\r\n\r\ntry {\r\n wasm = new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([\r\n 0, 97, 115, 109, 1, 0, 0, 0, 1, 13, 2, 96, 0, 1, 127, 96, 4, 127, 127, 127, 127, 1, 127, 3, 7, 6, 0, 1, 1, 1, 1, 1, 6, 6, 1, 127, 1, 65, 0, 11, 7, 50, 6, 3, 109, 117, 108, 0, 1, 5, 100, 105, 118, 95, 115, 0, 2, 5, 100, 105, 118, 95, 117, 0, 3, 5, 114, 101, 109, 95, 115, 0, 4, 5, 114, 101, 109, 95, 117, 0, 5, 8, 103, 101, 116, 95, 104, 105, 103, 104, 0, 0, 10, 191, 1, 6, 4, 0, 35, 0, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 126, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 127, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 128, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 129, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 130, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11\r\n ])), {}).exports;\r\n} catch (e) {\r\n // no wasm support :(\r\n}\r\n\r\n/**\r\n * Constructs a 64 bit two's-complement integer, given its low and high 32 bit values as *signed* integers.\r\n * See the from* functions below for more convenient ways of constructing Longs.\r\n * @exports Long\r\n * @class A Long class for representing a 64 bit two's-complement integer value.\r\n * @param {number} low The low (signed) 32 bits of the long\r\n * @param {number} high The high (signed) 32 bits of the long\r\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\r\n * @constructor\r\n */\r\nfunction Long(low, high, unsigned) {\r\n\r\n /**\r\n * The low 32 bits as a signed value.\r\n * @type {number}\r\n */\r\n this.low = low | 0;\r\n\r\n /**\r\n * The high 32 bits as a signed value.\r\n * @type {number}\r\n */\r\n this.high = high | 0;\r\n\r\n /**\r\n * Whether unsigned or not.\r\n * @type {boolean}\r\n */\r\n this.unsigned = !!unsigned;\r\n}\r\n\r\n// The internal representation of a long is the two given signed, 32-bit values.\r\n// We use 32-bit pieces because these are the size of integers on which\r\n// Javascript performs bit-operations. For operations like addition and\r\n// multiplication, we split each number into 16 bit pieces, which can easily be\r\n// multiplied within Javascript's floating-point representation without overflow\r\n// or change in sign.\r\n//\r\n// In the algorithms below, we frequently reduce the negative case to the\r\n// positive case by negating the input(s) and then post-processing the result.\r\n// Note that we must ALWAYS check specially whether those values are MIN_VALUE\r\n// (-2^63) because -MIN_VALUE == MIN_VALUE (since 2^63 cannot be represented as\r\n// a positive number, it overflows back into a negative). Not handling this\r\n// case would often result in infinite recursion.\r\n//\r\n// Common constant values ZERO, ONE, NEG_ONE, etc. are defined below the from*\r\n// methods on which they depend.\r\n\r\n/**\r\n * An indicator used to reliably determine if an object is a Long or not.\r\n * @type {boolean}\r\n * @const\r\n * @private\r\n */\r\nLong.prototype.__isLong__;\r\n\r\nObject.defineProperty(Long.prototype, \"__isLong__\", { value: true });\r\n\r\n/**\r\n * @function\r\n * @param {*} obj Object\r\n * @returns {boolean}\r\n * @inner\r\n */\r\nfunction isLong(obj) {\r\n return (obj && obj[\"__isLong__\"]) === true;\r\n}\r\n\r\n/**\r\n * Tests if the specified object is a Long.\r\n * @function\r\n * @param {*} obj Object\r\n * @returns {boolean}\r\n */\r\nLong.isLong = isLong;\r\n\r\n/**\r\n * A cache of the Long representations of small integer values.\r\n * @type {!Object}\r\n * @inner\r\n */\r\nvar INT_CACHE = {};\r\n\r\n/**\r\n * A cache of the Long representations of small unsigned integer values.\r\n * @type {!Object}\r\n * @inner\r\n */\r\nvar UINT_CACHE = {};\r\n\r\n/**\r\n * @param {number} value\r\n * @param {boolean=} unsigned\r\n * @returns {!Long}\r\n * @inner\r\n */\r\nfunction fromInt(value, unsigned) {\r\n var obj, cachedObj, cache;\r\n if (unsigned) {\r\n value >>>= 0;\r\n if (cache = (0 <= value && value < 256)) {\r\n cachedObj = UINT_CACHE[value];\r\n if (cachedObj)\r\n return cachedObj;\r\n }\r\n obj = fromBits(value, (value | 0) < 0 ? -1 : 0, true);\r\n if (cache)\r\n UINT_CACHE[value] = obj;\r\n return obj;\r\n } else {\r\n value |= 0;\r\n if (cache = (-128 <= value && value < 128)) {\r\n cachedObj = INT_CACHE[value];\r\n if (cachedObj)\r\n return cachedObj;\r\n }\r\n obj = fromBits(value, value < 0 ? -1 : 0, false);\r\n if (cache)\r\n INT_CACHE[value] = obj;\r\n return obj;\r\n }\r\n}\r\n\r\n/**\r\n * Returns a Long representing the given 32 bit integer value.\r\n * @function\r\n * @param {number} value The 32 bit integer in question\r\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\r\n * @returns {!Long} The corresponding Long value\r\n */\r\nLong.fromInt = fromInt;\r\n\r\n/**\r\n * @param {number} value\r\n * @param {boolean=} unsigned\r\n * @returns {!Long}\r\n * @inner\r\n */\r\nfunction fromNumber(value, unsigned) {\r\n if (isNaN(value))\r\n return unsigned ? UZERO : ZERO;\r\n if (unsigned) {\r\n if (value < 0)\r\n return UZERO;\r\n if (value >= TWO_PWR_64_DBL)\r\n return MAX_UNSIGNED_VALUE;\r\n } else {\r\n if (value <= -TWO_PWR_63_DBL)\r\n return MIN_VALUE;\r\n if (value + 1 >= TWO_PWR_63_DBL)\r\n return MAX_VALUE;\r\n }\r\n if (value < 0)\r\n return fromNumber(-value, unsigned).neg();\r\n return fromBits((value % TWO_PWR_32_DBL) | 0, (value / TWO_PWR_32_DBL) | 0, unsigned);\r\n}\r\n\r\n/**\r\n * Returns a Long representing the given value, provided that it is a finite number. Otherwise, zero is returned.\r\n * @function\r\n * @param {number} value The number in question\r\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\r\n * @returns {!Long} The corresponding Long value\r\n */\r\nLong.fromNumber = fromNumber;\r\n\r\n/**\r\n * @param {number} lowBits\r\n * @param {number} highBits\r\n * @param {boolean=} unsigned\r\n * @returns {!Long}\r\n * @inner\r\n */\r\nfunction fromBits(lowBits, highBits, unsigned) {\r\n return new Long(lowBits, highBits, unsigned);\r\n}\r\n\r\n/**\r\n * Returns a Long representing the 64 bit integer that comes by concatenating the given low and high bits. Each is\r\n * assumed to use 32 bits.\r\n * @function\r\n * @param {number} lowBits The low 32 bits\r\n * @param {number} highBits The high 32 bits\r\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\r\n * @returns {!Long} The corresponding Long value\r\n */\r\nLong.fromBits = fromBits;\r\n\r\n/**\r\n * @function\r\n * @param {number} base\r\n * @param {number} exponent\r\n * @returns {number}\r\n * @inner\r\n */\r\nvar pow_dbl = Math.pow; // Used 4 times (4*8 to 15+4)\r\n\r\n/**\r\n * @param {string} str\r\n * @param {(boolean|number)=} unsigned\r\n * @param {number=} radix\r\n * @returns {!Long}\r\n * @inner\r\n */\r\nfunction fromString(str, unsigned, radix) {\r\n if (str.length === 0)\r\n throw Error('empty string');\r\n if (str === \"NaN\" || str === \"Infinity\" || str === \"+Infinity\" || str === \"-Infinity\")\r\n return ZERO;\r\n if (typeof unsigned === 'number') {\r\n // For goog.math.long compatibility\r\n radix = unsigned,\r\n unsigned = false;\r\n } else {\r\n unsigned = !! unsigned;\r\n }\r\n radix = radix || 10;\r\n if (radix < 2 || 36 < radix)\r\n throw RangeError('radix');\r\n\r\n var p;\r\n if ((p = str.indexOf('-')) > 0)\r\n throw Error('interior hyphen');\r\n else if (p === 0) {\r\n return fromString(str.substring(1), unsigned, radix).neg();\r\n }\r\n\r\n // Do several (8) digits each time through the loop, so as to\r\n // minimize the calls to the very expensive emulated div.\r\n var radixToPower = fromNumber(pow_dbl(radix, 8));\r\n\r\n var result = ZERO;\r\n for (var i = 0; i < str.length; i += 8) {\r\n var size = Math.min(8, str.length - i),\r\n value = parseInt(str.substring(i, i + size), radix);\r\n if (size < 8) {\r\n var power = fromNumber(pow_dbl(radix, size));\r\n result = result.mul(power).add(fromNumber(value));\r\n } else {\r\n result = result.mul(radixToPower);\r\n result = result.add(fromNumber(value));\r\n }\r\n }\r\n result.unsigned = unsigned;\r\n return result;\r\n}\r\n\r\n/**\r\n * Returns a Long representation of the given string, written using the specified radix.\r\n * @function\r\n * @param {string} str The textual representation of the Long\r\n * @param {(boolean|number)=} unsigned Whether unsigned or not, defaults to signed\r\n * @param {number=} radix The radix in which the text is written (2-36), defaults to 10\r\n * @returns {!Long} The corresponding Long value\r\n */\r\nLong.fromString = fromString;\r\n\r\n/**\r\n * @function\r\n * @param {!Long|number|string|!{low: number, high: number, unsigned: boolean}} val\r\n * @param {boolean=} unsigned\r\n * @returns {!Long}\r\n * @inner\r\n */\r\nfunction fromValue(val, unsigned) {\r\n if (typeof val === 'number')\r\n return fromNumber(val, unsigned);\r\n if (typeof val === 'string')\r\n return fromString(val, unsigned);\r\n // Throws for non-objects, converts non-instanceof Long:\r\n return fromBits(val.low, val.high, typeof unsigned === 'boolean' ? unsigned : val.unsigned);\r\n}\r\n\r\n/**\r\n * Converts the specified value to a Long using the appropriate from* function for its type.\r\n * @function\r\n * @param {!Long|number|string|!{low: number, high: number, unsigned: boolean}} val Value\r\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\r\n * @returns {!Long}\r\n */\r\nLong.fromValue = fromValue;\r\n\r\n// NOTE: the compiler should inline these constant values below and then remove these variables, so there should be\r\n// no runtime penalty for these.\r\n\r\n/**\r\n * @type {number}\r\n * @const\r\n * @inner\r\n */\r\nvar TWO_PWR_16_DBL = 1 << 16;\r\n\r\n/**\r\n * @type {number}\r\n * @const\r\n * @inner\r\n */\r\nvar TWO_PWR_24_DBL = 1 << 24;\r\n\r\n/**\r\n * @type {number}\r\n * @const\r\n * @inner\r\n */\r\nvar TWO_PWR_32_DBL = TWO_PWR_16_DBL * TWO_PWR_16_DBL;\r\n\r\n/**\r\n * @type {number}\r\n * @const\r\n * @inner\r\n */\r\nvar TWO_PWR_64_DBL = TWO_PWR_32_DBL * TWO_PWR_32_DBL;\r\n\r\n/**\r\n * @type {number}\r\n * @const\r\n * @inner\r\n */\r\nvar TWO_PWR_63_DBL = TWO_PWR_64_DBL / 2;\r\n\r\n/**\r\n * @type {!Long}\r\n * @const\r\n * @inner\r\n */\r\nvar TWO_PWR_24 = fromInt(TWO_PWR_24_DBL);\r\n\r\n/**\r\n * @type {!Long}\r\n * @inner\r\n */\r\nvar ZERO = fromInt(0);\r\n\r\n/**\r\n * Signed zero.\r\n * @type {!Long}\r\n */\r\nLong.ZERO = ZERO;\r\n\r\n/**\r\n * @type {!Long}\r\n * @inner\r\n */\r\nvar UZERO = fromInt(0, true);\r\n\r\n/**\r\n * Unsigned zero.\r\n * @type {!Long}\r\n */\r\nLong.UZERO = UZERO;\r\n\r\n/**\r\n * @type {!Long}\r\n * @inner\r\n */\r\nvar ONE = fromInt(1);\r\n\r\n/**\r\n * Signed one.\r\n * @type {!Long}\r\n */\r\nLong.ONE = ONE;\r\n\r\n/**\r\n * @type {!Long}\r\n * @inner\r\n */\r\nvar UONE = fromInt(1, true);\r\n\r\n/**\r\n * Unsigned one.\r\n * @type {!Long}\r\n */\r\nLong.UONE = UONE;\r\n\r\n/**\r\n * @type {!Long}\r\n * @inner\r\n */\r\nvar NEG_ONE = fromInt(-1);\r\n\r\n/**\r\n * Signed negative one.\r\n * @type {!Long}\r\n */\r\nLong.NEG_ONE = NEG_ONE;\r\n\r\n/**\r\n * @type {!Long}\r\n * @inner\r\n */\r\nvar MAX_VALUE = fromBits(0xFFFFFFFF|0, 0x7FFFFFFF|0, false);\r\n\r\n/**\r\n * Maximum signed value.\r\n * @type {!Long}\r\n */\r\nLong.MAX_VALUE = MAX_VALUE;\r\n\r\n/**\r\n * @type {!Long}\r\n * @inner\r\n */\r\nvar MAX_UNSIGNED_VALUE = fromBits(0xFFFFFFFF|0, 0xFFFFFFFF|0, true);\r\n\r\n/**\r\n * Maximum unsigned value.\r\n * @type {!Long}\r\n */\r\nLong.MAX_UNSIGNED_VALUE = MAX_UNSIGNED_VALUE;\r\n\r\n/**\r\n * @type {!Long}\r\n * @inner\r\n */\r\nvar MIN_VALUE = fromBits(0, 0x80000000|0, false);\r\n\r\n/**\r\n * Minimum signed value.\r\n * @type {!Long}\r\n */\r\nLong.MIN_VALUE = MIN_VALUE;\r\n\r\n/**\r\n * @alias Long.prototype\r\n * @inner\r\n */\r\nvar LongPrototype = Long.prototype;\r\n\r\n/**\r\n * Converts the Long to a 32 bit integer, assuming it is a 32 bit integer.\r\n * @returns {number}\r\n */\r\nLongPrototype.toInt = function toInt() {\r\n return this.unsigned ? this.low >>> 0 : this.low;\r\n};\r\n\r\n/**\r\n * Converts the Long to a the nearest floating-point representation of this value (double, 53 bit mantissa).\r\n * @returns {number}\r\n */\r\nLongPrototype.toNumber = function toNumber() {\r\n if (this.unsigned)\r\n return ((this.high >>> 0) * TWO_PWR_32_DBL) + (this.low >>> 0);\r\n return this.high * TWO_PWR_32_DBL + (this.low >>> 0);\r\n};\r\n\r\n/**\r\n * Converts the Long to a string written in the specified radix.\r\n * @param {number=} radix Radix (2-36), defaults to 10\r\n * @returns {string}\r\n * @override\r\n * @throws {RangeError} If `radix` is out of range\r\n */\r\nLongPrototype.toString = function toString(radix) {\r\n radix = radix || 10;\r\n if (radix < 2 || 36 < radix)\r\n throw RangeError('radix');\r\n if (this.isZero())\r\n return '0';\r\n if (this.isNegative()) { // Unsigned Longs are never negative\r\n if (this.eq(MIN_VALUE)) {\r\n // We need to change the Long value before it can be negated, so we remove\r\n // the bottom-most digit in this base and then recurse to do the rest.\r\n var radixLong = fromNumber(radix),\r\n div = this.div(radixLong),\r\n rem1 = div.mul(radixLong).sub(this);\r\n return div.toString(radix) + rem1.toInt().toString(radix);\r\n } else\r\n return '-' + this.neg().toString(radix);\r\n }\r\n\r\n // Do several (6) digits each time through the loop, so as to\r\n // minimize the calls to the very expensive emulated div.\r\n var radixToPower = fromNumber(pow_dbl(radix, 6), this.unsigned),\r\n rem = this;\r\n var result = '';\r\n while (true) {\r\n var remDiv = rem.div(radixToPower),\r\n intval = rem.sub(remDiv.mul(radixToPower)).toInt() >>> 0,\r\n digits = intval.toString(radix);\r\n rem = remDiv;\r\n if (rem.isZero())\r\n return digits + result;\r\n else {\r\n while (digits.length < 6)\r\n digits = '0' + digits;\r\n result = '' + digits + result;\r\n }\r\n }\r\n};\r\n\r\n/**\r\n * Gets the high 32 bits as a signed integer.\r\n * @returns {number} Signed high bits\r\n */\r\nLongPrototype.getHighBits = function getHighBits() {\r\n return this.high;\r\n};\r\n\r\n/**\r\n * Gets the high 32 bits as an unsigned integer.\r\n * @returns {number} Unsigned high bits\r\n */\r\nLongPrototype.getHighBitsUnsigned = function getHighBitsUnsigned() {\r\n return this.high >>> 0;\r\n};\r\n\r\n/**\r\n * Gets the low 32 bits as a signed integer.\r\n * @returns {number} Signed low bits\r\n */\r\nLongPrototype.getLowBits = function getLowBits() {\r\n return this.low;\r\n};\r\n\r\n/**\r\n * Gets the low 32 bits as an unsigned integer.\r\n * @returns {number} Unsigned low bits\r\n */\r\nLongPrototype.getLowBitsUnsigned = function getLowBitsUnsigned() {\r\n return this.low >>> 0;\r\n};\r\n\r\n/**\r\n * Gets the number of bits needed to represent the absolute value of this Long.\r\n * @returns {number}\r\n */\r\nLongPrototype.getNumBitsAbs = function getNumBitsAbs() {\r\n if (this.isNegative()) // Unsigned Longs are never negative\r\n return this.eq(MIN_VALUE) ? 64 : this.neg().getNumBitsAbs();\r\n var val = this.high != 0 ? this.high : this.low;\r\n for (var bit = 31; bit > 0; bit--)\r\n if ((val & (1 << bit)) != 0)\r\n break;\r\n return this.high != 0 ? bit + 33 : bit + 1;\r\n};\r\n\r\n/**\r\n * Tests if this Long's value equals zero.\r\n * @returns {boolean}\r\n */\r\nLongPrototype.isZero = function isZero() {\r\n return this.high === 0 && this.low === 0;\r\n};\r\n\r\n/**\r\n * Tests if this Long's value equals zero. This is an alias of {@link Long#isZero}.\r\n * @returns {boolean}\r\n */\r\nLongPrototype.eqz = LongPrototype.isZero;\r\n\r\n/**\r\n * Tests if this Long's value is negative.\r\n * @returns {boolean}\r\n */\r\nLongPrototype.isNegative = function isNegative() {\r\n return !this.unsigned && this.high < 0;\r\n};\r\n\r\n/**\r\n * Tests if this Long's value is positive.\r\n * @returns {boolean}\r\n */\r\nLongPrototype.isPositive = function isPositive() {\r\n return this.unsigned || this.high >= 0;\r\n};\r\n\r\n/**\r\n * Tests if this Long's value is odd.\r\n * @returns {boolean}\r\n */\r\nLongPrototype.isOdd = function isOdd() {\r\n return (this.low & 1) === 1;\r\n};\r\n\r\n/**\r\n * Tests if this Long's value is even.\r\n * @returns {boolean}\r\n */\r\nLongPrototype.isEven = function isEven() {\r\n return (this.low & 1) === 0;\r\n};\r\n\r\n/**\r\n * Tests if this Long's value equals the specified's.\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\nLongPrototype.equals = function equals(other) {\r\n if (!isLong(other))\r\n other = fromValue(other);\r\n if (this.unsigned !== other.unsigned && (this.high >>> 31) === 1 && (other.high >>> 31) === 1)\r\n return false;\r\n return this.high === other.high && this.low === other.low;\r\n};\r\n\r\n/**\r\n * Tests if this Long's value equals the specified's. This is an alias of {@link Long#equals}.\r\n * @function\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\nLongPrototype.eq = LongPrototype.equals;\r\n\r\n/**\r\n * Tests if this Long's value differs from the specified's.\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\nLongPrototype.notEquals = function notEquals(other) {\r\n return !this.eq(/* validates */ other);\r\n};\r\n\r\n/**\r\n * Tests if this Long's value differs from the specified's. This is an alias of {@link Long#notEquals}.\r\n * @function\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\nLongPrototype.neq = LongPrototype.notEquals;\r\n\r\n/**\r\n * Tests if this Long's value differs from the specified's. This is an alias of {@link Long#notEquals}.\r\n * @function\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\nLongPrototype.ne = LongPrototype.notEquals;\r\n\r\n/**\r\n * Tests if this Long's value is less than the specified's.\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\nLongPrototype.lessThan = function lessThan(other) {\r\n return this.comp(/* validates */ other) < 0;\r\n};\r\n\r\n/**\r\n * Tests if this Long's value is less than the specified's. This is an alias of {@link Long#lessThan}.\r\n * @function\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\nLongPrototype.lt = LongPrototype.lessThan;\r\n\r\n/**\r\n * Tests if this Long's value is less than or equal the specified's.\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\nLongPrototype.lessThanOrEqual = function lessThanOrEqual(other) {\r\n return this.comp(/* validates */ other) <= 0;\r\n};\r\n\r\n/**\r\n * Tests if this Long's value is less than or equal the specified's. This is an alias of {@link Long#lessThanOrEqual}.\r\n * @function\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\nLongPrototype.lte = LongPrototype.lessThanOrEqual;\r\n\r\n/**\r\n * Tests if this Long's value is less than or equal the specified's. This is an alias of {@link Long#lessThanOrEqual}.\r\n * @function\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\nLongPrototype.le = LongPrototype.lessThanOrEqual;\r\n\r\n/**\r\n * Tests if this Long's value is greater than the specified's.\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\nLongPrototype.greaterThan = function greaterThan(other) {\r\n return this.comp(/* validates */ other) > 0;\r\n};\r\n\r\n/**\r\n * Tests if this Long's value is greater than the specified's. This is an alias of {@link Long#greaterThan}.\r\n * @function\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\nLongPrototype.gt = LongPrototype.greaterThan;\r\n\r\n/**\r\n * Tests if this Long's value is greater than or equal the specified's.\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\nLongPrototype.greaterThanOrEqual = function greaterThanOrEqual(other) {\r\n return this.comp(/* validates */ other) >= 0;\r\n};\r\n\r\n/**\r\n * Tests if this Long's value is greater than or equal the specified's. This is an alias of {@link Long#greaterThanOrEqual}.\r\n * @function\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\nLongPrototype.gte = LongPrototype.greaterThanOrEqual;\r\n\r\n/**\r\n * Tests if this Long's value is greater than or equal the specified's. This is an alias of {@link Long#greaterThanOrEqual}.\r\n * @function\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\nLongPrototype.ge = LongPrototype.greaterThanOrEqual;\r\n\r\n/**\r\n * Compares this Long's value with the specified's.\r\n * @param {!Long|number|string} other Other value\r\n * @returns {number} 0 if they are the same, 1 if the this is greater and -1\r\n * if the given one is greater\r\n */\r\nLongPrototype.compare = function compare(other) {\r\n if (!isLong(other))\r\n other = fromValue(other);\r\n if (this.eq(other))\r\n return 0;\r\n var thisNeg = this.isNegative(),\r\n otherNeg = other.isNegative();\r\n if (thisNeg && !otherNeg)\r\n return -1;\r\n if (!thisNeg && otherNeg)\r\n return 1;\r\n // At this point the sign bits are the same\r\n if (!this.unsigned)\r\n return this.sub(other).isNegative() ? -1 : 1;\r\n // Both are positive if at least one is unsigned\r\n return (other.high >>> 0) > (this.high >>> 0) || (other.high === this.high && (other.low >>> 0) > (this.low >>> 0)) ? -1 : 1;\r\n};\r\n\r\n/**\r\n * Compares this Long's value with the specified's. This is an alias of {@link Long#compare}.\r\n * @function\r\n * @param {!Long|number|string} other Other value\r\n * @returns {number} 0 if they are the same, 1 if the this is greater and -1\r\n * if the given one is greater\r\n */\r\nLongPrototype.comp = LongPrototype.compare;\r\n\r\n/**\r\n * Negates this Long's value.\r\n * @returns {!Long} Negated Long\r\n */\r\nLongPrototype.negate = function negate() {\r\n if (!this.unsigned && this.eq(MIN_VALUE))\r\n return MIN_VALUE;\r\n return this.not().add(ONE);\r\n};\r\n\r\n/**\r\n * Negates this Long's value. This is an alias of {@link Long#negate}.\r\n * @function\r\n * @returns {!Long} Negated Long\r\n */\r\nLongPrototype.neg = LongPrototype.negate;\r\n\r\n/**\r\n * Returns the sum of this and the specified Long.\r\n * @param {!Long|number|string} addend Addend\r\n * @returns {!Long} Sum\r\n */\r\nLongPrototype.add = function add(addend) {\r\n if (!isLong(addend))\r\n addend = fromValue(addend);\r\n\r\n // Divide each number into 4 chunks of 16 bits, and then sum the chunks.\r\n\r\n var a48 = this.high >>> 16;\r\n var a32 = this.high & 0xFFFF;\r\n var a16 = this.low >>> 16;\r\n var a00 = this.low & 0xFFFF;\r\n\r\n var b48 = addend.high >>> 16;\r\n var b32 = addend.high & 0xFFFF;\r\n var b16 = addend.low >>> 16;\r\n var b00 = addend.low & 0xFFFF;\r\n\r\n var c48 = 0, c32 = 0, c16 = 0, c00 = 0;\r\n c00 += a00 + b00;\r\n c16 += c00 >>> 16;\r\n c00 &= 0xFFFF;\r\n c16 += a16 + b16;\r\n c32 += c16 >>> 16;\r\n c16 &= 0xFFFF;\r\n c32 += a32 + b32;\r\n c48 += c32 >>> 16;\r\n c32 &= 0xFFFF;\r\n c48 += a48 + b48;\r\n c48 &= 0xFFFF;\r\n return fromBits((c16 << 16) | c00, (c48 << 16) | c32, this.unsigned);\r\n};\r\n\r\n/**\r\n * Returns the difference of this and the specified Long.\r\n * @param {!Long|number|string} subtrahend Subtrahend\r\n * @returns {!Long} Difference\r\n */\r\nLongPrototype.subtract = function subtract(subtrahend) {\r\n if (!isLong(subtrahend))\r\n subtrahend = fromValue(subtrahend);\r\n return this.add(subtrahend.neg());\r\n};\r\n\r\n/**\r\n * Returns the difference of this and the specified Long. This is an alias of {@link Long#subtract}.\r\n * @function\r\n * @param {!Long|number|string} subtrahend Subtrahend\r\n * @returns {!Long} Difference\r\n */\r\nLongPrototype.sub = LongPrototype.subtract;\r\n\r\n/**\r\n * Returns the product of this and the specified Long.\r\n * @param {!Long|number|string} multiplier Multiplier\r\n * @returns {!Long} Product\r\n */\r\nLongPrototype.multiply = function multiply(multiplier) {\r\n if (this.isZero())\r\n return ZERO;\r\n if (!isLong(multiplier))\r\n multiplier = fromValue(multiplier);\r\n\r\n // use wasm support if present\r\n if (wasm) {\r\n var low = wasm.mul(this.low,\r\n this.high,\r\n multiplier.low,\r\n multiplier.high);\r\n return fromBits(low, wasm.get_high(), this.unsigned);\r\n }\r\n\r\n if (multiplier.isZero())\r\n return ZERO;\r\n if (this.eq(MIN_VALUE))\r\n return multiplier.isOdd() ? MIN_VALUE : ZERO;\r\n if (multiplier.eq(MIN_VALUE))\r\n return this.isOdd() ? MIN_VALUE : ZERO;\r\n\r\n if (this.isNegative()) {\r\n if (multiplier.isNegative())\r\n return this.neg().mul(multiplier.neg());\r\n else\r\n return this.neg().mul(multiplier).neg();\r\n } else if (multiplier.isNegative())\r\n return this.mul(multiplier.neg()).neg();\r\n\r\n // If both longs are small, use float multiplication\r\n if (this.lt(TWO_PWR_24) && multiplier.lt(TWO_PWR_24))\r\n return fromNumber(this.toNumber() * multiplier.toNumber(), this.unsigned);\r\n\r\n // Divide each long into 4 chunks of 16 bits, and then add up 4x4 products.\r\n // We can skip products that would overflow.\r\n\r\n var a48 = this.high >>> 16;\r\n var a32 = this.high & 0xFFFF;\r\n var a16 = this.low >>> 16;\r\n var a00 = this.low & 0xFFFF;\r\n\r\n var b48 = multiplier.high >>> 16;\r\n var b32 = multiplier.high & 0xFFFF;\r\n var b16 = multiplier.low >>> 16;\r\n var b00 = multiplier.low & 0xFFFF;\r\n\r\n var c48 = 0, c32 = 0, c16 = 0, c00 = 0;\r\n c00 += a00 * b00;\r\n c16 += c00 >>> 16;\r\n c00 &= 0xFFFF;\r\n c16 += a16 * b00;\r\n c32 += c16 >>> 16;\r\n c16 &= 0xFFFF;\r\n c16 += a00 * b16;\r\n c32 += c16 >>> 16;\r\n c16 &= 0xFFFF;\r\n c32 += a32 * b00;\r\n c48 += c32 >>> 16;\r\n c32 &= 0xFFFF;\r\n c32 += a16 * b16;\r\n c48 += c32 >>> 16;\r\n c32 &= 0xFFFF;\r\n c32 += a00 * b32;\r\n c48 += c32 >>> 16;\r\n c32 &= 0xFFFF;\r\n c48 += a48 * b00 + a32 * b16 + a16 * b32 + a00 * b48;\r\n c48 &= 0xFFFF;\r\n return fromBits((c16 << 16) | c00, (c48 << 16) | c32, this.unsigned);\r\n};\r\n\r\n/**\r\n * Returns the product of this and the specified Long. This is an alias of {@link Long#multiply}.\r\n * @function\r\n * @param {!Long|number|string} multiplier Multiplier\r\n * @returns {!Long} Product\r\n */\r\nLongPrototype.mul = LongPrototype.multiply;\r\n\r\n/**\r\n * Returns this Long divided by the specified. The result is signed if this Long is signed or\r\n * unsigned if this Long is unsigned.\r\n * @param {!Long|number|string} divisor Divisor\r\n * @returns {!Long} Quotient\r\n */\r\nLongPrototype.divide = function divide(divisor) {\r\n if (!isLong(divisor))\r\n divisor = fromValue(divisor);\r\n if (divisor.isZero())\r\n throw Error('division by zero');\r\n\r\n // use wasm support if present\r\n if (wasm) {\r\n // guard against signed division overflow: the largest\r\n // negative number / -1 would be 1 larger than the largest\r\n // positive number, due to two's complement.\r\n if (!this.unsigned &&\r\n this.high === -0x80000000 &&\r\n divisor.low === -1 && divisor.high === -1) {\r\n // be consistent with non-wasm code path\r\n return this;\r\n }\r\n var low = (this.unsigned ? wasm.div_u : wasm.div_s)(\r\n this.low,\r\n this.high,\r\n divisor.low,\r\n divisor.high\r\n );\r\n return fromBits(low, wasm.get_high(), this.unsigned);\r\n }\r\n\r\n if (this.isZero())\r\n return this.unsigned ? UZERO : ZERO;\r\n var approx, rem, res;\r\n if (!this.unsigned) {\r\n // This section is only relevant for signed longs and is derived from the\r\n // closure library as a whole.\r\n if (this.eq(MIN_VALUE)) {\r\n if (divisor.eq(ONE) || divisor.eq(NEG_ONE))\r\n return MIN_VALUE; // recall that -MIN_VALUE == MIN_VALUE\r\n else if (divisor.eq(MIN_VALUE))\r\n return ONE;\r\n else {\r\n // At this point, we have |other| >= 2, so |this/other| < |MIN_VALUE|.\r\n var halfThis = this.shr(1);\r\n approx = halfThis.div(divisor).shl(1);\r\n if (approx.eq(ZERO)) {\r\n return divisor.isNegative() ? ONE : NEG_ONE;\r\n } else {\r\n rem = this.sub(divisor.mul(approx));\r\n res = approx.add(rem.div(divisor));\r\n return res;\r\n }\r\n }\r\n } else if (divisor.eq(MIN_VALUE))\r\n return this.unsigned ? UZERO : ZERO;\r\n if (this.isNegative()) {\r\n if (divisor.isNegative())\r\n return this.neg().div(divisor.neg());\r\n return this.neg().div(divisor).neg();\r\n } else if (divisor.isNegative())\r\n return this.div(divisor.neg()).neg();\r\n res = ZERO;\r\n } else {\r\n // The algorithm below has not been made for unsigned longs. It's therefore\r\n // required to take special care of the MSB prior to running it.\r\n if (!divisor.unsigned)\r\n divisor = divisor.toUnsigned();\r\n if (divisor.gt(this))\r\n return UZERO;\r\n if (divisor.gt(this.shru(1))) // 15 >>> 1 = 7 ; with divisor = 8 ; true\r\n return UONE;\r\n res = UZERO;\r\n }\r\n\r\n // Repeat the following until the remainder is less than other: find a\r\n // floating-point that approximates remainder / other *from below*, add this\r\n // into the result, and subtract it from the remainder. It is critical that\r\n // the approximate value is less than or equal to the real value so that the\r\n // remainder never becomes negative.\r\n rem = this;\r\n while (rem.gte(divisor)) {\r\n // Approximate the result of division. This may be a little greater or\r\n // smaller than the actual value.\r\n approx = Math.max(1, Math.floor(rem.toNumber() / divisor.toNumber()));\r\n\r\n // We will tweak the approximate result by changing it in the 48-th digit or\r\n // the smallest non-fractional digit, whichever is larger.\r\n var log2 = Math.ceil(Math.log(approx) / Math.LN2),\r\n delta = (log2 <= 48) ? 1 : pow_dbl(2, log2 - 48),\r\n\r\n // Decrease the approximation until it is smaller than the remainder. Note\r\n // that if it is too large, the product overflows and is negative.\r\n approxRes = fromNumber(approx),\r\n approxRem = approxRes.mul(divisor);\r\n while (approxRem.isNegative() || approxRem.gt(rem)) {\r\n approx -= delta;\r\n approxRes = fromNumber(approx, this.unsigned);\r\n approxRem = approxRes.mul(divisor);\r\n }\r\n\r\n // We know the answer can't be zero... and actually, zero would cause\r\n // infinite recursion since we would make no progress.\r\n if (approxRes.isZero())\r\n approxRes = ONE;\r\n\r\n res = res.add(approxRes);\r\n rem = rem.sub(approxRem);\r\n }\r\n return res;\r\n};\r\n\r\n/**\r\n * Returns this Long divided by the specified. This is an alias of {@link Long#divide}.\r\n * @function\r\n * @param {!Long|number|string} divisor Divisor\r\n * @returns {!Long} Quotient\r\n */\r\nLongPrototype.div = LongPrototype.divide;\r\n\r\n/**\r\n * Returns this Long modulo the specified.\r\n * @param {!Long|number|string} divisor Divisor\r\n * @returns {!Long} Remainder\r\n */\r\nLongPrototype.modulo = function modulo(divisor) {\r\n if (!isLong(divisor))\r\n divisor = fromValue(divisor);\r\n\r\n // use wasm support if present\r\n if (wasm) {\r\n var low = (this.unsigned ? wasm.rem_u : wasm.rem_s)(\r\n this.low,\r\n this.high,\r\n divisor.low,\r\n divisor.high\r\n );\r\n return fromBits(low, wasm.get_high(), this.unsigned);\r\n }\r\n\r\n return this.sub(this.div(divisor).mul(divisor));\r\n};\r\n\r\n/**\r\n * Returns this Long modulo the specified. This is an alias of {@link Long#modulo}.\r\n * @function\r\n * @param {!Long|number|string} divisor Divisor\r\n * @returns {!Long} Remainder\r\n */\r\nLongPrototype.mod = LongPrototype.modulo;\r\n\r\n/**\r\n * Returns this Long modulo the specified. This is an alias of {@link Long#modulo}.\r\n * @function\r\n * @param {!Long|number|string} divisor Divisor\r\n * @returns {!Long} Remainder\r\n */\r\nLongPrototype.rem = LongPrototype.modulo;\r\n\r\n/**\r\n * Returns the bitwise NOT of this Long.\r\n * @returns {!Long}\r\n */\r\nLongPrototype.not = function not() {\r\n return fromBits(~this.low, ~this.high, this.unsigned);\r\n};\r\n\r\n/**\r\n * Returns the bitwise AND of this Long and the specified.\r\n * @param {!Long|number|string} other Other Long\r\n * @returns {!Long}\r\n */\r\nLongPrototype.and = function and(other) {\r\n if (!isLong(other))\r\n other = fromValue(other);\r\n return fromBits(this.low & other.low, this.high & other.high, this.unsigned);\r\n};\r\n\r\n/**\r\n * Returns the bitwise OR of this Long and the specified.\r\n * @param {!Long|number|string} other Other Long\r\n * @returns {!Long}\r\n */\r\nLongPrototype.or = function or(other) {\r\n if (!isLong(other))\r\n other = fromValue(other);\r\n return fromBits(this.low | other.low, this.high | other.high, this.unsigned);\r\n};\r\n\r\n/**\r\n * Returns the bitwise XOR of this Long and the given one.\r\n * @param {!Long|number|string} other Other Long\r\n * @returns {!Long}\r\n */\r\nLongPrototype.xor = function xor(other) {\r\n if (!isLong(other))\r\n other = fromValue(other);\r\n return fromBits(this.low ^ other.low, this.high ^ other.high, this.unsigned);\r\n};\r\n\r\n/**\r\n * Returns this Long with bits shifted to the left by the given amount.\r\n * @param {number|!Long} numBits Number of bits\r\n * @returns {!Long} Shifted Long\r\n */\r\nLongPrototype.shiftLeft = function shiftLeft(numBits) {\r\n if (isLong(numBits))\r\n numBits = numBits.toInt();\r\n if ((numBits &= 63) === 0)\r\n return this;\r\n else if (numBits < 32)\r\n return fromBits(this.low << numBits, (this.high << numBits) | (this.low >>> (32 - numBits)), this.unsigned);\r\n else\r\n return fromBits(0, this.low << (numBits - 32), this.unsigned);\r\n};\r\n\r\n/**\r\n * Returns this Long with bits shifted to the left by the given amount. This is an alias of {@link Long#shiftLeft}.\r\n * @function\r\n * @param {number|!Long} numBits Number of bits\r\n * @returns {!Long} Shifted Long\r\n */\r\nLongPrototype.shl = LongPrototype.shiftLeft;\r\n\r\n/**\r\n * Returns this Long with bits arithmetically shifted to the right by the given amount.\r\n * @param {number|!Long} numBits Number of bits\r\n * @returns {!Long} Shifted Long\r\n */\r\nLongPrototype.shiftRight = function shiftRight(numBits) {\r\n if (isLong(numBits))\r\n numBits = numBits.toInt();\r\n if ((numBits &= 63) === 0)\r\n return this;\r\n else if (numBits < 32)\r\n return fromBits((this.low >>> numBits) | (this.high << (32 - numBits)), this.high >> numBits, this.unsigned);\r\n else\r\n return fromBits(this.high >> (numBits - 32), this.high >= 0 ? 0 : -1, this.unsigned);\r\n};\r\n\r\n/**\r\n * Returns this Long with bits arithmetically shifted to the right by the given amount. This is an alias of {@link Long#shiftRight}.\r\n * @function\r\n * @param {number|!Long} numBits Number of bits\r\n * @returns {!Long} Shifted Long\r\n */\r\nLongPrototype.shr = LongPrototype.shiftRight;\r\n\r\n/**\r\n * Returns this Long with bits logically shifted to the right by the given amount.\r\n * @param {number|!Long} numBits Number of bits\r\n * @returns {!Long} Shifted Long\r\n */\r\nLongPrototype.shiftRightUnsigned = function shiftRightUnsigned(numBits) {\r\n if (isLong(numBits))\r\n numBits = numBits.toInt();\r\n numBits &= 63;\r\n if (numBits === 0)\r\n return this;\r\n else {\r\n var high = this.high;\r\n if (numBits < 32) {\r\n var low = this.low;\r\n return fromBits((low >>> numBits) | (high << (32 - numBits)), high >>> numBits, this.unsigned);\r\n } else if (numBits === 32)\r\n return fromBits(high, 0, this.unsigned);\r\n else\r\n return fromBits(high >>> (numBits - 32), 0, this.unsigned);\r\n }\r\n};\r\n\r\n/**\r\n * Returns this Long with bits logically shifted to the right by the given amount. This is an alias of {@link Long#shiftRightUnsigned}.\r\n * @function\r\n * @param {number|!Long} numBits Number of bits\r\n * @returns {!Long} Shifted Long\r\n */\r\nLongPrototype.shru = LongPrototype.shiftRightUnsigned;\r\n\r\n/**\r\n * Returns this Long with bits logically shifted to the right by the given amount. This is an alias of {@link Long#shiftRightUnsigned}.\r\n * @function\r\n * @param {number|!Long} numBits Number of bits\r\n * @returns {!Long} Shifted Long\r\n */\r\nLongPrototype.shr_u = LongPrototype.shiftRightUnsigned;\r\n\r\n/**\r\n * Converts this Long to signed.\r\n * @returns {!Long} Signed long\r\n */\r\nLongPrototype.toSigned = function toSigned() {\r\n if (!this.unsigned)\r\n return this;\r\n return fromBits(this.low, this.high, false);\r\n};\r\n\r\n/**\r\n * Converts this Long to unsigned.\r\n * @returns {!Long} Unsigned long\r\n */\r\nLongPrototype.toUnsigned = function toUnsigned() {\r\n if (this.unsigned)\r\n return this;\r\n return fromBits(this.low, this.high, true);\r\n};\r\n\r\n/**\r\n * Converts this Long to its byte representation.\r\n * @param {boolean=} le Whether little or big endian, defaults to big endian\r\n * @returns {!Array.<number>} Byte representation\r\n */\r\nLongPrototype.toBytes = function toBytes(le) {\r\n return le ? this.toBytesLE() : this.toBytesBE();\r\n};\r\n\r\n/**\r\n * Converts this Long to its little endian byte representation.\r\n * @returns {!Array.<number>} Little endian byte representation\r\n */\r\nLongPrototype.toBytesLE = function toBytesLE() {\r\n var hi = this.high,\r\n lo = this.low;\r\n return [\r\n lo & 0xff,\r\n lo >>> 8 & 0xff,\r\n lo >>> 16 & 0xff,\r\n lo >>> 24 ,\r\n hi & 0xff,\r\n hi >>> 8 & 0xff,\r\n hi >>> 16 & 0xff,\r\n hi >>> 24\r\n ];\r\n};\r\n\r\n/**\r\n * Converts this Long to its big endian byte representation.\r\n * @returns {!Array.<number>} Big endian byte representation\r\n */\r\nLongPrototype.toBytesBE = function toBytesBE() {\r\n var hi = this.high,\r\n lo = this.low;\r\n return [\r\n hi >>> 24 ,\r\n hi >>> 16 & 0xff,\r\n hi >>> 8 & 0xff,\r\n hi & 0xff,\r\n lo >>> 24 ,\r\n lo >>> 16 & 0xff,\r\n lo >>> 8 & 0xff,\r\n lo & 0xff\r\n ];\r\n};\r\n\r\n/**\r\n * Creates a Long from its byte representation.\r\n * @param {!Array.<number>} bytes Byte representation\r\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\r\n * @param {boolean=} le Whether little or big endian, defaults to big endian\r\n * @returns {Long} The corresponding Long value\r\n */\r\nLong.fromBytes = function fromBytes(bytes, unsigned, le) {\r\n return le ? Long.fromBytesLE(bytes, unsigned) : Long.fromBytesBE(bytes, unsigned);\r\n};\r\n\r\n/**\r\n * Creates a Long from its little endian byte representation.\r\n * @param {!Array.<number>} bytes Little endian byte representation\r\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\r\n * @returns {Long} The corresponding Long value\r\n */\r\nLong.fromBytesLE = function fromBytesLE(bytes, unsigned) {\r\n return new Long(\r\n bytes[0] |\r\n bytes[1] << 8 |\r\n bytes[2] << 16 |\r\n bytes[3] << 24,\r\n bytes[4] |\r\n bytes[5] << 8 |\r\n bytes[6] << 16 |\r\n bytes[7] << 24,\r\n unsigned\r\n );\r\n};\r\n\r\n/**\r\n * Creates a Long from its big endian byte representation.\r\n * @param {!Array.<number>} bytes Big endian byte representation\r\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\r\n * @returns {Long} The corresponding Long value\r\n */\r\nLong.fromBytesBE = function fromBytesBE(bytes, unsigned) {\r\n return new Long(\r\n bytes[4] << 24 |\r\n bytes[5] << 16 |\r\n bytes[6] << 8 |\r\n bytes[7],\r\n bytes[0] << 24 |\r\n bytes[1] << 16 |\r\n bytes[2] << 8 |\r\n bytes[3],\r\n unsigned\r\n );\r\n};\r\n", "import \"./polyfills\";\nimport \"@rainbow-me/rainbowkit/styles.css\";\nimport \"./styles/theme/global.css\";\nimport \"./translation\";\nimport ReactDOM from \"react-dom/client\";\nimport { useEffect, ComponentProps } from \"react\";\nimport { Navigate, Route, Routes } from \"react-router-dom\";\nimport { useToggleTheme } from \"./hooks\";\nimport { container } from \"./style.css\";\nimport { CompletePage, StepsPage, ReviewPage, Layout, Details } from \"./pages\";\nimport { useAppState } from \"./state\";\nimport { Box } from \"./components\";\nimport { useWebViewConnectMachine } from \"./hooks/use-webview-connect-machine\";\nimport { useLocationTransitionAnimation } from \"./hooks/use-location-transition-animation\";\nimport { useSKWallet } from \"./hooks/use-sk-wallet\";\nimport { Positions } from \"./pages/positions\";\nimport { Providers } from \"./providers\";\nimport {\n SettingsContextProvider,\n SettingsContextType,\n} from \"./providers/settings\";\nimport classNames from \"classnames\";\n\nconst Widget = () => {\n useToggleTheme();\n\n const { isConnected, isConnecting } = useSKWallet();\n\n const { selectedStake, stakeAmount } = useAppState();\n\n const isDetailsComplete = selectedStake\n .chain(() => stakeAmount.map((a) => !a.isZero() && !a.isNaN()))\n .extractNullable();\n\n const [, send] = useWebViewConnectMachine();\n\n useEffect(() => {\n if (isConnected || isConnecting) return;\n\n send(\"CONNECT\");\n }, [send, isConnecting, isConnected]);\n\n const { displayLocation, transitionClassName, onAnimationEnd } =\n useLocationTransitionAnimation();\n\n return (\n <Box\n background=\"background\"\n className={classNames([container, transitionClassName])}\n onAnimationEnd={onAnimationEnd}\n >\n <Routes location={displayLocation}>\n <Route path=\"/\" element={<Layout />}>\n <Route path=\"/\" element={<Details />} />\n {isDetailsComplete ? (\n <>\n <Route path=\"/review\" element={<ReviewPage />} />\n <Route path=\"/steps\" element={<StepsPage />} />\n <Route path=\"/complete\" element={<CompletePage />} />\n </>\n ) : (\n <Route path=\"*\" element={<Navigate to=\"/\" replace />} />\n )}\n\n <Route path=\"*\" element={<Navigate to=\"/\" replace />} />\n </Route>\n </Routes>\n </Box>\n );\n};\n\nexport const SKApp = ({\n withPositions = true,\n ...rest\n}: {\n withPositions?: boolean;\n} & SettingsContextType) => {\n return (\n <SettingsContextProvider {...rest}>\n <Providers>\n <Widget />\n {withPositions && <Positions />}\n </Providers>\n </SettingsContextProvider>\n );\n};\n\nexport const renderSKWidget = ({\n container,\n ...rest\n}: ComponentProps<typeof SKApp> & {\n container: Parameters<typeof ReactDOM.createRoot>[0];\n}) => {\n if (!rest.apiKey) throw new Error(\"API key is required\");\n\n const root = ReactDOM.createRoot(container);\n root.render(<SKApp {...rest} />);\n};\n", "import i18n from \"i18next\";\nimport LanguageDetector from \"i18next-browser-languagedetector\";\nimport { initReactI18next } from \"react-i18next\";\nimport translationEN from \"./English/translations.json\";\n\nexport const localResources = {\n en: {\n translation: translationEN,\n },\n} as const;\n\nexport type SupportedLocales = keyof typeof localResources;\n\ni18n\n .use(initReactI18next)\n .use(LanguageDetector)\n .init({\n compatibilityJSON: \"v4\",\n resources: localResources,\n fallbackLng: \"en\",\n interpolation: {\n escapeValue: false,\n },\n });\n", "{\n \"shared\": {\n \"stake_kit\": \"StakeKit\",\n \"max\": \"Max\",\n \"available\": \"available\",\n \"yearly\": \"Yearly\",\n \"monthly\": \"Monthly\",\n \"review\": \"Review\",\n \"receive\": \"Receive\",\n \"fees\": \"Fees\",\n \"none\": \"None\",\n \"confirm\": \"Confirm\",\n \"cancel\": \"Cancel\",\n \"ok\": \"Ok\",\n \"something_went_wrong\": \"Something went wrong\",\n \"retry\": \"Try Again\",\n \"unsupported_network\": \"Unsupported network\"\n },\n \"init\": {\n \"get_started\": \"Connect your wallet to get started\u2026\",\n \"connect_wallet\": \"Connect Wallet\"\n },\n \"yield_types\": {\n \"liquid_stake\": \"Liquid Stake\",\n \"stake\": \"Stake\",\n \"deposit\": \"Deposit\"\n },\n \"details\": {\n \"estimated_reward\": \"Estimated rewards\",\n \"staked_via\": \"Staked via {{validator}}\",\n \"liquid_stake_description\": \"When you stake {{stakeToken}} you'll receive {{liquidToken}}. You can trade this liquid asset at any time.\",\n \"lent_description\": \"When you lend {{stakeToken}} you'll receive {{lendToken}}. You can trade this liquid asset at any time.\",\n \"deposit_description\": \"When you deposit {{stakeToken}} you'll receive {{depositToken}}. You can trade this liquid asset at any time.\",\n \"yearn_description\": \"When you deposit {{stakeToken}} you'll receive {{depositToken}}. You can trade this liquid asset at any time.\",\n \"info_2\": \"You'll start earning right away\",\n \"info_3\": \"Rewards will be automatically credited to your wallet every day\",\n \"opportunity_search_title\": \"Select a yield\",\n \"validator_search_title\": \"Select validator\",\n \"reward_token\": \"Get {{symbol}} <highlight0>via {{providerName}}</highlight0>\"\n },\n \"review\": {\n \"estimated_reward\": \"Estimated rewards\",\n \"estimated_gas_fee\": \"Estimated gas fee\",\n \"wallet_fee\": \"{{wallet}} fee\",\n \"terms_of_use\": \"By clicking confirm & stake your agree to <underline0>Terms of Use</underline0> and understand the Risk Disclosures\",\n \"amount_and_earn\": \"<highlight0>{{amount}}</highlight0> <highlight1>{{tokenNetwork}}</highlight1> & earn <highlight3>{{interestRate}}</highlight3>%\"\n },\n \"steps\": {\n \"title\": \"Follow Steps\",\n \"sign_transaction\": \"Sign transaction\",\n \"sign_transaction_desc\": \"Go back to connected wallet to approve transaction\",\n \"transaction_status\": \"Transaction status\",\n \"transaction_status_desc\": \"Checking transaction status\",\n \"finalize_stake\": \"Finalize stake\",\n \"send_to_finalize_stake\": \"Send transaction to finalize your stake\",\n \"approve\": \"Approve\",\n \"approve_desc\": \"Approve this transaction in your wallet\",\n \"submitted\": \"Submitted\",\n \"pending\": \"Pending\",\n \"completed\": \"Completed\",\n \"failed\": \"Failed\"\n },\n \"complete\": {\n \"successfully_staked\": \"Successfully staked {{amount}} {{tokenNetwork}}\",\n \"view_transaction\": \"View transaction\",\n \"via\": \"via {{providerName}}\"\n },\n \"help_modals\": {\n \"main\": {\n \"title\": \"Powered by StakeKit\",\n \"description\": \"StakeKit is a powerful API & widget for self-custodial staking. It supports the most popular tokens and chains out of the box, and provides a beautiful, seamless experience.\"\n },\n \"staking\": {\n \"title\": \"What is Staking?\",\n \"description\": \"Staking is a way to earn passive income by holding and \\\"staking\\\" your cryptocurrency. It helps secure the network and validate transactions, while rewarding you with additional tokens for your contribution.\"\n },\n \"liquid_staking\": {\n \"title\": \"What is Liquid Staking?\",\n \"description\": \"Liquid crypto staking lets you earn rewards by staking your cryptocurrency while still keeping it easily accessible for trading or other purposes. It's a flexible way to make your crypto work for you without locking it up, allowing you to enjoy the benefits of staking while maintaining liquidity.\"\n },\n \"deposit\": {\n \"title\": \"What are yield vault deposits?\",\n \"description\": \"Yield deposit vaults, like Yearn Finance (YFI), automatically optimize your crypto investments for higher returns. By pooling funds and using advanced strategies across DeFi protocols, these vaults generate passive yield. Enjoy higher interest rates and benefit from professional yield farming expertise with a hands-off approach to earning more from your crypto.\"\n },\n \"lending\": {\n \"title\": \"What is lending?\",\n \"description\": \"Crypto lending platforms, such as Aave, allow you to lend your digital assets and earn interest on them. By depositing your crypto into lending pools, you become a lender, and borrowers can access your funds in exchange for paying interest. It's a way to put your idle crypto to work and earn passive income while helping others access the funds they need.\"\n },\n \"fees\": {\n \"title\": \"About fees\",\n \"description\": \"Crypto network fees, also known as gas fees, are the costs associated with executing transactions or smart contracts on a blockchain network. These fees ensure the prioritization and security of transactions. Higher demand and congestion can lead to increased gas fees, while lower fees may result in slower transaction processing.\"\n }\n },\n \"positions\": {\n \"title\": \"My Positions\",\n \"via\": \"via {{providerName}}\"\n }\n}\n", "import { useLayoutEffect, useState } from \"react\";\n\nconst getCurrentColorScheme = () => {\n if (typeof window === \"undefined\") return \"no-preference\";\n\n const isDark = window.matchMedia(\"(prefers-color-scheme: dark)\");\n const isLight = window.matchMedia(\"(prefers-color-scheme: light)\");\n\n return isDark.matches ? \"dark\" : isLight.matches ? \"light\" : \"no-preference\";\n};\n\nexport const usePrefersColorScheme = () => {\n const [preferredColorSchema, setPreferredColorSchema] = useState<{\n theme: \"dark\" | \"light\" | \"no-preference\";\n force: boolean;\n }>(() => {\n const scheme = getCurrentColorScheme();\n\n return { force: false, theme: scheme };\n });\n\n useLayoutEffect(() => {\n if (preferredColorSchema.force) return;\n\n if (typeof window === \"undefined\") return;\n\n const isDark = window.matchMedia(\"(prefers-color-scheme: dark)\");\n const isLight = window.matchMedia(\"(prefers-color-scheme: light)\");\n\n if (typeof isLight.addEventListener !== \"function\") return;\n\n const darkListener = ({ matches }: MediaQueryListEvent) => {\n matches && setPreferredColorSchema({ theme: \"dark\", force: false });\n };\n const lightListener = ({ matches }: MediaQueryListEvent) => {\n matches && setPreferredColorSchema({ theme: \"light\", force: false });\n };\n\n isDark.addEventListener(\"change\", darkListener);\n isLight.addEventListener(\"change\", lightListener);\n\n return () => {\n isDark.removeEventListener(\"change\", darkListener);\n isLight.removeEventListener(\"change\", lightListener);\n };\n }, [preferredColorSchema]);\n\n return preferredColorSchema.theme;\n};\n", "import { useLayoutEffect } from \"react\";\nimport { themes } from \"../styles\";\nimport { usePrefersColorScheme } from \"./use-color-scheme\";\n\nexport const useToggleTheme = () => {\n const scheme = usePrefersColorScheme();\n\n useLayoutEffect(() => {\n if (!document) return;\n\n if (scheme === \"dark\") {\n document.body.classList.remove(themes.light);\n document.body.classList.remove(themes.lightOverrides);\n document.body.classList.add(themes.dark);\n document.body.classList.add(themes.darkOverrides);\n } else {\n document.body.classList.add(themes.light);\n document.body.classList.add(themes.lightOverrides);\n document.body.classList.remove(themes.dark);\n document.body.classList.remove(themes.darkOverrides);\n }\n }, [scheme]);\n};\n", "export var darkTheme = {fontSize:{xs:'0.7rem',sm:'0.875rem',md:'1rem',lg:'1.125rem',lgx:'1.3125rem',xl:'1.563rem','2xl':'1.953rem','3xl':'2.441rem','4xl':'3.052rem','5xl':'3.815rem','6xl':'4.768rem'},letterSpacing:{tighter:'-0.05em',tight:'-0.025em',normal:'0',wide:'0.025em',wider:'0.05em',widest:'0.1em'},lineHeight:{none:'1',shorter:'1.25','short':'1.375',base:'1.5',tall:'1.625',taller:'2',xs:'1rem',sm:'1.25rem',md:'1.5rem',lg:'1.75rem',xl:'1.75rem','2xl':'2.25rem','3xl':'2.5rem','4xl':'1','5xl':'1','6xl':'1'},fontWeight:{normal:'400',medium:'500',semibold:'600',bold:'700',extrabold:'800',modalHeading:'600',tokenSelect:'700',primaryButton:'700',secondaryButton:'700'},borderRadius:{none:'0',sm:'2px',base:'4px',md:'6px',lg:'8px',xl:'12px','2xl':'16px','3xl':'24px',full:'9999px',half:'50%',widgetBorderRadius:'0',primaryButton:'16px',secondaryButton:'16px'},space:{'0':'0','1':'4px','2':'8px','3':'12px','4':'16px','5':'20px','6':'24px','7':'28px','8':'32px','9':'36px','10':'40px','12':'48px','14':'56px','16':'64px','20':'80px','24':'96px','28':'112px','32':'128px','36':'144px','40':'160px','44':'176px','48':'192px',full:'100%',unset:'unset',auto:'auto',px:'1px',buttonMinHeight:'64px'},heading:{h1:{mobile:{fontSize:'2.441rem'},tablet:{fontSize:'3.052rem'}},h2:{mobile:{fontSize:'1.953rem'},tablet:{fontSize:'2.441rem'}},h3:{mobile:{fontSize:'1.563rem'},tablet:{fontSize:'1.953rem'}},h4:{mobile:{fontSize:'1.3125rem'},tablet:{fontSize:'1.3125rem'}}},text:{standard:{mobile:{fontSize:'1.125rem'},tablet:{fontSize:'1.125rem'}},small:{mobile:{fontSize:'1rem'},tablet:{fontSize:'1rem'}},xsmall:{mobile:{fontSize:'0.875rem'},tablet:{fontSize:'0.875rem'}}},zIndices:{hide:'-1',auto:'auto',base:'0',docked:'10',dropdown:'1000',sticky:'1100',banner:'1200',overlay:'1300',modal:'1400',skipLink:'1600'},font:{body:'-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, \"Open Sans\", \"Helvetica Neue\", sans-serif'},color:{white:'#fff',black:'#000',transparent:'transparent',primary:'#2B2B2B',accent:'#3B6CEC',disabled:'#E0E0E0',text:'#FFFFFF',textMuted:'#999999',textDanger:'#FF1515',background:'#2B2B2B',backgroundMuted:'#383838',tokenSelectBackground:'#383838',tokenSelectHoverBackground:'#444444',tokenSelect:'#FFFFFF',stakeSectionBackground:'#383838',positionsSectionBackgroundColor:'#2B2B2B',positionsSectionBorderColor:'#FFFFFF',positionsSectionDividerColor:'#383838',modalOverlayBackground:'rgba(0, 0, 0, 0.5)',modalBodyBackground:'#2B2B2B',primaryButtonColor:'#000000',primaryButtonBackground:'#FFFFFF',primaryButtonOutline:'#FFFFFF',primaryButtonHoverColor:'#373737',primaryButtonHoverBackground:'#E6E6E6',primaryButtonHoverOutline:'#E6E6E6',primaryButtonActiveColor:'#000000',primaryButtonActiveBackground:'#FFFFFF',primaryButtonActiveOutline:'#000000',secondaryButtonColor:'#FFFFFF',secondaryButtonBackground:'#2B2B2B',secondaryButtonOutline:'#FFFFFF',secondaryButtonHoverColor:'#FFFFFF',secondaryButtonHoverBackground:'#2B2B2B',secondaryButtonHoverOutline:'#F6F7F9',secondaryButtonActiveColor:'#FFFFFF',secondaryButtonActiveBackground:'#2B2B2B',secondaryButtonActiveOutline:'#FFFFFF',disabledButtonColor:'#000000',disabledButtonBackground:'#E0E0E0',disabledButtonOutline:'#FFFFFF',disabledButtonHoverColor:'#000000',disabledButtonHoverBackground:'#E6E6E6',disabledButtonHoverOutline:'#F6F7F9',disabledButtonActiveColor:'#000000',disabledButtonActiveBackground:'#E0E0E0',disabledButtonActiveOutline:'#FFFFFF'}};\nexport var id = 'stakekit';\nexport var lightTheme = {fontSize:{xs:'0.7rem',sm:'0.875rem',md:'1rem',lg:'1.125rem',lgx:'1.3125rem',xl:'1.563rem','2xl':'1.953rem','3xl':'2.441rem','4xl':'3.052rem','5xl':'3.815rem','6xl':'4.768rem'},letterSpacing:{tighter:'-0.05em',tight:'-0.025em',normal:'0',wide:'0.025em',wider:'0.05em',widest:'0.1em'},lineHeight:{none:'1',shorter:'1.25','short':'1.375',base:'1.5',tall:'1.625',taller:'2',xs:'1rem',sm:'1.25rem',md:'1.5rem',lg:'1.75rem',xl:'1.75rem','2xl':'2.25rem','3xl':'2.5rem','4xl':'1','5xl':'1','6xl':'1'},fontWeight:{normal:'400',medium:'500',semibold:'600',bold:'700',extrabold:'800',modalHeading:'600',tokenSelect:'700',primaryButton:'700',secondaryButton:'700'},borderRadius:{none:'0',sm:'2px',base:'4px',md:'6px',lg:'8px',xl:'12px','2xl':'16px','3xl':'24px',full:'9999px',half:'50%',widgetBorderRadius:'0',primaryButton:'16px',secondaryButton:'16px'},space:{'0':'0','1':'4px','2':'8px','3':'12px','4':'16px','5':'20px','6':'24px','7':'28px','8':'32px','9':'36px','10':'40px','12':'48px','14':'56px','16':'64px','20':'80px','24':'96px','28':'112px','32':'128px','36':'144px','40':'160px','44':'176px','48':'192px',full:'100%',unset:'unset',auto:'auto',px:'1px',buttonMinHeight:'64px'},heading:{h1:{mobile:{fontSize:'2.441rem'},tablet:{fontSize:'3.052rem'}},h2:{mobile:{fontSize:'1.953rem'},tablet:{fontSize:'2.441rem'}},h3:{mobile:{fontSize:'1.563rem'},tablet:{fontSize:'1.953rem'}},h4:{mobile:{fontSize:'1.3125rem'},tablet:{fontSize:'1.3125rem'}}},text:{standard:{mobile:{fontSize:'1.125rem'},tablet:{fontSize:'1.125rem'}},small:{mobile:{fontSize:'1rem'},tablet:{fontSize:'1rem'}},xsmall:{mobile:{fontSize:'0.875rem'},tablet:{fontSize:'0.875rem'}}},zIndices:{hide:'-1',auto:'auto',base:'0',docked:'10',dropdown:'1000',sticky:'1100',banner:'1200',overlay:'1300',modal:'1400',skipLink:'1600'},font:{body:'-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, \"Open Sans\", \"Helvetica Neue\", sans-serif'},color:{white:'#fff',black:'#000',transparent:'transparent',primary:'#fff',accent:'#000',disabled:'#E0E0E0',text:'#373737',textMuted:'#999999',textDanger:'#FF1515',background:'#fff',backgroundMuted:'#F6F7F9',tokenSelectBackground:'#F6F7F9',tokenSelectHoverBackground:'#EEF0F2',tokenSelect:'#373737',stakeSectionBackground:'#F6F7F9',positionsSectionBackgroundColor:'#FFFFFF',positionsSectionBorderColor:'#373737',positionsSectionDividerColor:'#F6F7F9',modalOverlayBackground:'rgba(0, 0, 0, 0.5)',modalBodyBackground:'#FFFFFF',primaryButtonColor:'#FFFFFF',primaryButtonBackground:'#000000',primaryButtonOutline:'#000000',primaryButtonHoverColor:'#FFFFFF',primaryButtonHoverBackground:'#1A1A1A',primaryButtonHoverOutline:'#1A1A1A',primaryButtonActiveColor:'#FFFFFF',primaryButtonActiveBackground:'#000000',primaryButtonActiveOutline:'#000000',secondaryButtonColor:'#000000',secondaryButtonBackground:'#FFFFFF',secondaryButtonOutline:'#000000',secondaryButtonHoverColor:'#373737',secondaryButtonHoverBackground:'#FFFFFF',secondaryButtonHoverOutline:'#373737',secondaryButtonActiveColor:'#000000',secondaryButtonActiveBackground:'#FFFFFF',secondaryButtonActiveOutline:'#000000',disabledButtonColor:'#FFFFFF',disabledButtonBackground:'#E0E0E0',disabledButtonOutline:'#E0E0E0',disabledButtonHoverColor:'#FFFFFF',disabledButtonHoverBackground:'#E6E6E6',disabledButtonHoverOutline:'#E0E0E0',disabledButtonActiveColor:'#FFFFFF',disabledButtonActiveBackground:'#E0E0E0',disabledButtonActiveOutline:'#E0E0E0'}};\nexport var rootSelector = '[data-rk=\"stakekit\"]';\nexport var themes = {light:'light-theme',lightOverrides:'light-theme-overrides',dark:'dark-theme',darkOverrides:'dark-theme-overrides'};\nexport var vars = {color:{white:'var(--sk-color-white)',black:'var(--sk-color-black)',transparent:'var(--sk-color-transparent)',primary:'var(--sk-color-primary)',accent:'var(--sk-color-accent)',disabled:'var(--sk-color-disabled)',text:'var(--sk-color-text)',textMuted:'var(--sk-color-text-muted)',textDanger:'var(--sk-color-text-danger)',background:'var(--sk-color-background)',backgroundMuted:'var(--sk-color-background-muted)',tokenSelectBackground:'var(--sk-color-token-select-background)',tokenSelectHoverBackground:'var(--sk-color-token-select-hover-background)',tokenSelect:'var(--sk-color-token-select)',stakeSectionBackground:'var(--sk-color-stake-section-background)',positionsSectionBackgroundColor:'var(--sk-color-positions-section-background-color)',positionsSectionBorderColor:'var(--sk-color-positions-section-border-color)',positionsSectionDividerColor:'var(--sk-color-positions-section-divider-color)',modalOverlayBackground:'var(--sk-color-modal-overlay-background)',modalBodyBackground:'var(--sk-color-modal-body-background)',primaryButtonColor:'var(--sk-color-primary-button-color)',primaryButtonBackground:'var(--sk-color-primary-button-background)',primaryButtonOutline:'var(--sk-color-primary-button-outline)',primaryButtonHoverColor:'var(--sk-color-primary-button-hover-color)',primaryButtonHoverBackground:'var(--sk-color-primary-button-hover-background)',primaryButtonHoverOutline:'var(--sk-color-primary-button-hover-outline)',primaryButtonActiveColor:'var(--sk-color-primary-button-active-color)',primaryButtonActiveBackground:'var(--sk-color-primary-button-active-background)',primaryButtonActiveOutline:'var(--sk-color-primary-button-active-outline)',secondaryButtonColor:'var(--sk-color-secondary-button-color)',secondaryButtonBackground:'var(--sk-color-secondary-button-background)',secondaryButtonOutline:'var(--sk-color-secondary-button-outline)',secondaryButtonHoverColor:'var(--sk-color-secondary-button-hover-color)',secondaryButtonHoverBackground:'var(--sk-color-secondary-button-hover-background)',secondaryButtonHoverOutline:'var(--sk-color-secondary-button-hover-outline)',secondaryButtonActiveColor:'var(--sk-color-secondary-button-active-color)',secondaryButtonActiveBackground:'var(--sk-color-secondary-button-active-background)',secondaryButtonActiveOutline:'var(--sk-color-secondary-button-active-outline)',disabledButtonColor:'var(--sk-color-disabled-button-color)',disabledButtonBackground:'var(--sk-color-disabled-button-background)',disabledButtonOutline:'var(--sk-color-disabled-button-outline)',disabledButtonHoverColor:'var(--sk-color-disabled-button-hover-color)',disabledButtonHoverBackground:'var(--sk-color-disabled-button-hover-background)',disabledButtonHoverOutline:'var(--sk-color-disabled-button-hover-outline)',disabledButtonActiveColor:'var(--sk-color-disabled-button-active-color)',disabledButtonActiveBackground:'var(--sk-color-disabled-button-active-background)',disabledButtonActiveOutline:'var(--sk-color-disabled-button-active-outline)'},fontSize:{xs:'var(--sk-font-size-xs)',sm:'var(--sk-font-size-sm)',md:'var(--sk-font-size-md)',lg:'var(--sk-font-size-lg)',lgx:'var(--sk-font-size-lgx)',xl:'var(--sk-font-size-xl)','2xl':'var(--sk-font-size-2xl)','3xl':'var(--sk-font-size-3xl)','4xl':'var(--sk-font-size-4xl)','5xl':'var(--sk-font-size-5xl)','6xl':'var(--sk-font-size-6xl)'},letterSpacing:{tighter:'var(--sk-letter-spacing-tighter)',tight:'var(--sk-letter-spacing-tight)',normal:'var(--sk-letter-spacing-normal)',wide:'var(--sk-letter-spacing-wide)',wider:'var(--sk-letter-spacing-wider)',widest:'var(--sk-letter-spacing-widest)'},lineHeight:{none:'var(--sk-line-height-none)',shorter:'var(--sk-line-height-shorter)','short':'var(--sk-line-height-short)',base:'var(--sk-line-height-base)',tall:'var(--sk-line-height-tall)',taller:'var(--sk-line-height-taller)',xs:'var(--sk-line-height-xs)',sm:'var(--sk-line-height-sm)',md:'var(--sk-line-height-md)',lg:'var(--sk-line-height-lg)',xl:'var(--sk-line-height-xl)','2xl':'var(--sk-line-height-2xl)','3xl':'var(--sk-line-height-3xl)','4xl':'var(--sk-line-height-4xl)','5xl':'var(--sk-line-height-5xl)','6xl':'var(--sk-line-height-6xl)'},fontWeight:{normal:'var(--sk-font-weight-normal)',medium:'var(--sk-font-weight-medium)',semibold:'var(--sk-font-weight-semibold)',bold:'var(--sk-font-weight-bold)',extrabold:'var(--sk-font-weight-extrabold)',modalHeading:'var(--sk-font-weight-modal-heading)',tokenSelect:'var(--sk-font-weight-token-select)',primaryButton:'var(--sk-font-weight-primary-button)',secondaryButton:'var(--sk-font-weight-secondary-button)'},borderRadius:{none:'var(--sk-border-radius-none)',sm:'var(--sk-border-radius-sm)',base:'var(--sk-border-radius-base)',md:'var(--sk-border-radius-md)',lg:'var(--sk-border-radius-lg)',xl:'var(--sk-border-radius-xl)','2xl':'var(--sk-border-radius-2xl)','3xl':'var(--sk-border-radius-3xl)',full:'var(--sk-border-radius-full)',half:'var(--sk-border-radius-half)',widgetBorderRadius:'var(--sk-border-radius-widget-border-radius)',primaryButton:'var(--sk-border-radius-primary-button)',secondaryButton:'var(--sk-border-radius-secondary-button)'},space:{'0':'var(--sk-space-0)','1':'var(--sk-space-1)','2':'var(--sk-space-2)','3':'var(--sk-space-3)','4':'var(--sk-space-4)','5':'var(--sk-space-5)','6':'var(--sk-space-6)','7':'var(--sk-space-7)','8':'var(--sk-space-8)','9':'var(--sk-space-9)','10':'var(--sk-space-10)','12':'var(--sk-space-12)','14':'var(--sk-space-14)','16':'var(--sk-space-16)','20':'var(--sk-space-20)','24':'var(--sk-space-24)','28':'var(--sk-space-28)','32':'var(--sk-space-32)','36':'var(--sk-space-36)','40':'var(--sk-space-40)','44':'var(--sk-space-44)','48':'var(--sk-space-48)',full:'var(--sk-space-full)',unset:'var(--sk-space-unset)',auto:'var(--sk-space-auto)',px:'var(--sk-space-px)',buttonMinHeight:'var(--sk-space-button-min-height)'},heading:{h1:{mobile:{fontSize:'var(--sk-heading-h1-mobile-font-size)'},tablet:{fontSize:'var(--sk-heading-h1-tablet-font-size)'}},h2:{mobile:{fontSize:'var(--sk-heading-h2-mobile-font-size)'},tablet:{fontSize:'var(--sk-heading-h2-tablet-font-size)'}},h3:{mobile:{fontSize:'var(--sk-heading-h3-mobile-font-size)'},tablet:{fontSize:'var(--sk-heading-h3-tablet-font-size)'}},h4:{mobile:{fontSize:'var(--sk-heading-h4-mobile-font-size)'},tablet:{fontSize:'var(--sk-heading-h4-tablet-font-size)'}}},text:{standard:{mobile:{fontSize:'var(--sk-text-standard-mobile-font-size)'},tablet:{fontSize:'var(--sk-text-standard-tablet-font-size)'}},small:{mobile:{fontSize:'var(--sk-text-small-mobile-font-size)'},tablet:{fontSize:'var(--sk-text-small-tablet-font-size)'}},xsmall:{mobile:{fontSize:'var(--sk-text-xsmall-mobile-font-size)'},tablet:{fontSize:'var(--sk-text-xsmall-tablet-font-size)'}}},zIndices:{hide:'var(--sk-z-indices-hide)',auto:'var(--sk-z-indices-auto)',base:'var(--sk-z-indices-base)',docked:'var(--sk-z-indices-docked)',dropdown:'var(--sk-z-indices-dropdown)',sticky:'var(--sk-z-indices-sticky)',banner:'var(--sk-z-indices-banner)',overlay:'var(--sk-z-indices-overlay)',modal:'var(--sk-z-indices-modal)',skipLink:'var(--sk-z-indices-skip-link)'},font:{body:'var(--sk-font-body)'}};", "import 'src/styles/theme/atoms.css.ts.vanilla.css?source=#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';\nimport { createSprinkles as _ad221 } from '@vanilla-extract/sprinkles/createRuntimeSprinkles';\nexport var atoms = _ad221({conditions:undefined,styles:{position:{values:{relative:{defaultClass:'atoms_position_relative__yv8y4r0'},absolute:{defaultClass:'atoms_position_absolute__yv8y4r1'},sticky:{defaultClass:'atoms_position_sticky__yv8y4r2'}}},opacity:{values:{'0':{defaultClass:'atoms_opacity_0__yv8y4r3'},'1':{defaultClass:'atoms_opacity_1__yv8y4r6'},'0.1':{defaultClass:'atoms_opacity_0.1__yv8y4r4'},'0.5':{defaultClass:'atoms_opacity_0.5__yv8y4r5'}}},zIndex:{values:{hide:{defaultClass:'atoms_zIndex_hide__yv8y4r7'},auto:{defaultClass:'atoms_zIndex_auto__yv8y4r8'},base:{defaultClass:'atoms_zIndex_base__yv8y4r9'},docked:{defaultClass:'atoms_zIndex_docked__yv8y4ra'},dropdown:{defaultClass:'atoms_zIndex_dropdown__yv8y4rb'},sticky:{defaultClass:'atoms_zIndex_sticky__yv8y4rc'},banner:{defaultClass:'atoms_zIndex_banner__yv8y4rd'},overlay:{defaultClass:'atoms_zIndex_overlay__yv8y4re'},modal:{defaultClass:'atoms_zIndex_modal__yv8y4rf'},skipLink:{defaultClass:'atoms_zIndex_skipLink__yv8y4rg'}}},fontWeight:{values:{normal:{defaultClass:'atoms_fontWeight_normal__yv8y4rh'},medium:{defaultClass:'atoms_fontWeight_medium__yv8y4ri'},semibold:{defaultClass:'atoms_fontWeight_semibold__yv8y4rj'},bold:{defaultClass:'atoms_fontWeight_bold__yv8y4rk'},extrabold:{defaultClass:'atoms_fontWeight_extrabold__yv8y4rl'},modalHeading:{defaultClass:'atoms_fontWeight_modalHeading__yv8y4rm'},tokenSelect:{defaultClass:'atoms_fontWeight_tokenSelect__yv8y4rn'},primaryButton:{defaultClass:'atoms_fontWeight_primaryButton__yv8y4ro'},secondaryButton:{defaultClass:'atoms_fontWeight_secondaryButton__yv8y4rp'}}},border:{values:{none:{defaultClass:'atoms_border_none__yv8y4rq'}}},gap:{values:{'0':{defaultClass:'atoms_gap_0__yv8y4rr'},'1':{defaultClass:'atoms_gap_1__yv8y4rs'},'2':{defaultClass:'atoms_gap_2__yv8y4rt'},'3':{defaultClass:'atoms_gap_3__yv8y4ru'},'4':{defaultClass:'atoms_gap_4__yv8y4rv'},'5':{defaultClass:'atoms_gap_5__yv8y4rw'},'6':{defaultClass:'atoms_gap_6__yv8y4rx'},'7':{defaultClass:'atoms_gap_7__yv8y4ry'},'8':{defaultClass:'atoms_gap_8__yv8y4rz'},'9':{defaultClass:'atoms_gap_9__yv8y4r10'},'10':{defaultClass:'atoms_gap_10__yv8y4r11'},'12':{defaultClass:'atoms_gap_12__yv8y4r12'},'14':{defaultClass:'atoms_gap_14__yv8y4r13'},'16':{defaultClass:'atoms_gap_16__yv8y4r14'},'20':{defaultClass:'atoms_gap_20__yv8y4r15'},'24':{defaultClass:'atoms_gap_24__yv8y4r16'},'28':{defaultClass:'atoms_gap_28__yv8y4r17'},'32':{defaultClass:'atoms_gap_32__yv8y4r18'},'36':{defaultClass:'atoms_gap_36__yv8y4r19'},'40':{defaultClass:'atoms_gap_40__yv8y4r1a'},'44':{defaultClass:'atoms_gap_44__yv8y4r1b'},'48':{defaultClass:'atoms_gap_48__yv8y4r1c'},full:{defaultClass:'atoms_gap_full__yv8y4r1d'},unset:{defaultClass:'atoms_gap_unset__yv8y4r1e'},auto:{defaultClass:'atoms_gap_auto__yv8y4r1f'},px:{defaultClass:'atoms_gap_px__yv8y4r1g'},buttonMinHeight:{defaultClass:'atoms_gap_buttonMinHeight__yv8y4r1h'}}},borderRadius:{values:{none:{defaultClass:'atoms_borderRadius_none__yv8y4r1i'},sm:{defaultClass:'atoms_borderRadius_sm__yv8y4r1j'},base:{defaultClass:'atoms_borderRadius_base__yv8y4r1k'},md:{defaultClass:'atoms_borderRadius_md__yv8y4r1l'},lg:{defaultClass:'atoms_borderRadius_lg__yv8y4r1m'},xl:{defaultClass:'atoms_borderRadius_xl__yv8y4r1n'},'2xl':{defaultClass:'atoms_borderRadius_2xl__yv8y4r1o'},'3xl':{defaultClass:'atoms_borderRadius_3xl__yv8y4r1p'},full:{defaultClass:'atoms_borderRadius_full__yv8y4r1q'},half:{defaultClass:'atoms_borderRadius_half__yv8y4r1r'},widgetBorderRadius:{defaultClass:'atoms_borderRadius_widgetBorderRadius__yv8y4r1s'},primaryButton:{defaultClass:'atoms_borderRadius_primaryButton__yv8y4r1t'},secondaryButton:{defaultClass:'atoms_borderRadius_secondaryButton__yv8y4r1u'}}},textAlign:{values:{left:{defaultClass:'atoms_textAlign_left__yv8y4r1v'},center:{defaultClass:'atoms_textAlign_center__yv8y4r1w'},right:{defaultClass:'atoms_textAlign_right__yv8y4r1x'}}},flex:{values:{'1':{defaultClass:'atoms_flex_1__yv8y4r1y'},'2':{defaultClass:'atoms_flex_2__yv8y4r1z'},'3':{defaultClass:'atoms_flex_3__yv8y4r20'},'4':{defaultClass:'atoms_flex_4__yv8y4r21'},'5':{defaultClass:'atoms_flex_5__yv8y4r22'}}},lineHeight:{values:{none:{defaultClass:'atoms_lineHeight_none__yv8y4r23'},shorter:{defaultClass:'atoms_lineHeight_shorter__yv8y4r24'},'short':{defaultClass:'atoms_lineHeight_short__yv8y4r25'},base:{defaultClass:'atoms_lineHeight_base__yv8y4r26'},tall:{defaultClass:'atoms_lineHeight_tall__yv8y4r27'},taller:{defaultClass:'atoms_lineHeight_taller__yv8y4r28'},xs:{defaultClass:'atoms_lineHeight_xs__yv8y4r29'},sm:{defaultClass:'atoms_lineHeight_sm__yv8y4r2a'},md:{defaultClass:'atoms_lineHeight_md__yv8y4r2b'},lg:{defaultClass:'atoms_lineHeight_lg__yv8y4r2c'},xl:{defaultClass:'atoms_lineHeight_xl__yv8y4r2d'},'2xl':{defaultClass:'atoms_lineHeight_2xl__yv8y4r2e'},'3xl':{defaultClass:'atoms_lineHeight_3xl__yv8y4r2f'},'4xl':{defaultClass:'atoms_lineHeight_4xl__yv8y4r2g'},'5xl':{defaultClass:'atoms_lineHeight_5xl__yv8y4r2h'},'6xl':{defaultClass:'atoms_lineHeight_6xl__yv8y4r2i'}}},letterSpacing:{values:{tighter:{defaultClass:'atoms_letterSpacing_tighter__yv8y4r2j'},tight:{defaultClass:'atoms_letterSpacing_tight__yv8y4r2k'},normal:{defaultClass:'atoms_letterSpacing_normal__yv8y4r2l'},wide:{defaultClass:'atoms_letterSpacing_wide__yv8y4r2m'},wider:{defaultClass:'atoms_letterSpacing_wider__yv8y4r2n'},widest:{defaultClass:'atoms_letterSpacing_widest__yv8y4r2o'}}},borderWidth:{values:{'1':{defaultClass:'atoms_borderWidth_1__yv8y4r2q'},'2':{defaultClass:'atoms_borderWidth_2__yv8y4r2r'},'3':{defaultClass:'atoms_borderWidth_3__yv8y4r2s'},'0.5':{defaultClass:'atoms_borderWidth_0.5__yv8y4r2p'}}},borderStyle:{values:{solid:{defaultClass:'atoms_borderStyle_solid__yv8y4r2t'}}}}},{conditions:{defaultCondition:'mobile',conditionNames:['mobile','tablet'],responsiveArray:undefined},styles:{px:{mappings:['paddingLeft','paddingRight']},py:{mappings:['paddingTop','paddingBottom']},mx:{mappings:['marginLeft','marginRight']},my:{mappings:['marginTop','marginBottom']},hw:{mappings:['height','width']},display:{values:{block:{conditions:{mobile:'atoms_display_block_mobile__yv8y4r2u',tablet:'atoms_display_block_tablet__yv8y4r2v'},defaultClass:'atoms_display_block_mobile__yv8y4r2u'},inline:{conditions:{mobile:'atoms_display_inline_mobile__yv8y4r2w',tablet:'atoms_display_inline_tablet__yv8y4r2x'},defaultClass:'atoms_display_inline_mobile__yv8y4r2w'},'inline-block':{conditions:{mobile:'atoms_display_inline-block_mobile__yv8y4r2y',tablet:'atoms_display_inline-block_tablet__yv8y4r2z'},defaultClass:'atoms_display_inline-block_mobile__yv8y4r2y'},flex:{conditions:{mobile:'atoms_display_flex_mobile__yv8y4r30',tablet:'atoms_display_flex_tablet__yv8y4r31'},defaultClass:'atoms_display_flex_mobile__yv8y4r30'},'inline-flex':{conditions:{mobile:'atoms_display_inline-flex_mobile__yv8y4r32',tablet:'atoms_display_inline-flex_tablet__yv8y4r33'},defaultClass:'atoms_display_inline-flex_mobile__yv8y4r32'},none:{conditions:{mobile:'atoms_display_none_mobile__yv8y4r34',tablet:'atoms_display_none_tablet__yv8y4r35'},defaultClass:'atoms_display_none_mobile__yv8y4r34'}}},fontSize:{values:{xs:{conditions:{mobile:'atoms_fontSize_xs_mobile__yv8y4r36',tablet:'atoms_fontSize_xs_tablet__yv8y4r37'},defaultClass:'atoms_fontSize_xs_mobile__yv8y4r36'},sm:{conditions:{mobile:'atoms_fontSize_sm_mobile__yv8y4r38',tablet:'atoms_fontSize_sm_tablet__yv8y4r39'},defaultClass:'atoms_fontSize_sm_mobile__yv8y4r38'},md:{conditions:{mobile:'atoms_fontSize_md_mobile__yv8y4r3a',tablet:'atoms_fontSize_md_tablet__yv8y4r3b'},defaultClass:'atoms_fontSize_md_mobile__yv8y4r3a'},lg:{conditions:{mobile:'atoms_fontSize_lg_mobile__yv8y4r3c',tablet:'atoms_fontSize_lg_tablet__yv8y4r3d'},defaultClass:'atoms_fontSize_lg_mobile__yv8y4r3c'},lgx:{conditions:{mobile:'atoms_fontSize_lgx_mobile__yv8y4r3e',tablet:'atoms_fontSize_lgx_tablet__yv8y4r3f'},defaultClass:'atoms_fontSize_lgx_mobile__yv8y4r3e'},xl:{conditions:{mobile:'atoms_fontSize_xl_mobile__yv8y4r3g',tablet:'atoms_fontSize_xl_tablet__yv8y4r3h'},defaultClass:'atoms_fontSize_xl_mobile__yv8y4r3g'},'2xl':{conditions:{mobile:'atoms_fontSize_2xl_mobile__yv8y4r3i',tablet:'atoms_fontSize_2xl_tablet__yv8y4r3j'},defaultClass:'atoms_fontSize_2xl_mobile__yv8y4r3i'},'3xl':{conditions:{mobile:'atoms_fontSize_3xl_mobile__yv8y4r3k',tablet:'atoms_fontSize_3xl_tablet__yv8y4r3l'},defaultClass:'atoms_fontSize_3xl_mobile__yv8y4r3k'},'4xl':{conditions:{mobile:'atoms_fontSize_4xl_mobile__yv8y4r3m',tablet:'atoms_fontSize_4xl_tablet__yv8y4r3n'},defaultClass:'atoms_fontSize_4xl_mobile__yv8y4r3m'},'5xl':{conditions:{mobile:'atoms_fontSize_5xl_mobile__yv8y4r3o',tablet:'atoms_fontSize_5xl_tablet__yv8y4r3p'},defaultClass:'atoms_fontSize_5xl_mobile__yv8y4r3o'},'6xl':{conditions:{mobile:'atoms_fontSize_6xl_mobile__yv8y4r3q',tablet:'atoms_fontSize_6xl_tablet__yv8y4r3r'},defaultClass:'atoms_fontSize_6xl_mobile__yv8y4r3q'}}},marginTop:{values:{'0':{conditions:{mobile:'atoms_marginTop_0_mobile__yv8y4r3s',tablet:'atoms_marginTop_0_tablet__yv8y4r3t'},defaultClass:'atoms_marginTop_0_mobile__yv8y4r3s'},'1':{conditions:{mobile:'atoms_marginTop_1_mobile__yv8y4r3u',tablet:'atoms_marginTop_1_tablet__yv8y4r3v'},defaultClass:'atoms_marginTop_1_mobile__yv8y4r3u'},'2':{conditions:{mobile:'atoms_marginTop_2_mobile__yv8y4r3w',tablet:'atoms_marginTop_2_tablet__yv8y4r3x'},defaultClass:'atoms_marginTop_2_mobile__yv8y4r3w'},'3':{conditions:{mobile:'atoms_marginTop_3_mobile__yv8y4r3y',tablet:'atoms_marginTop_3_tablet__yv8y4r3z'},defaultClass:'atoms_marginTop_3_mobile__yv8y4r3y'},'4':{conditions:{mobile:'atoms_marginTop_4_mobile__yv8y4r40',tablet:'atoms_marginTop_4_tablet__yv8y4r41'},defaultClass:'atoms_marginTop_4_mobile__yv8y4r40'},'5':{conditions:{mobile:'atoms_marginTop_5_mobile__yv8y4r42',tablet:'atoms_marginTop_5_tablet__yv8y4r43'},defaultClass:'atoms_marginTop_5_mobile__yv8y4r42'},'6':{conditions:{mobile:'atoms_marginTop_6_mobile__yv8y4r44',tablet:'atoms_marginTop_6_tablet__yv8y4r45'},defaultClass:'atoms_marginTop_6_mobile__yv8y4r44'},'7':{conditions:{mobile:'atoms_marginTop_7_mobile__yv8y4r46',tablet:'atoms_marginTop_7_tablet__yv8y4r47'},defaultClass:'atoms_marginTop_7_mobile__yv8y4r46'},'8':{conditions:{mobile:'atoms_marginTop_8_mobile__yv8y4r48',tablet:'atoms_marginTop_8_tablet__yv8y4r49'},defaultClass:'atoms_marginTop_8_mobile__yv8y4r48'},'9':{conditions:{mobile:'atoms_marginTop_9_mobile__yv8y4r4a',tablet:'atoms_marginTop_9_tablet__yv8y4r4b'},defaultClass:'atoms_marginTop_9_mobile__yv8y4r4a'},'10':{conditions:{mobile:'atoms_marginTop_10_mobile__yv8y4r4c',tablet:'atoms_marginTop_10_tablet__yv8y4r4d'},defaultClass:'atoms_marginTop_10_mobile__yv8y4r4c'},'12':{conditions:{mobile:'atoms_marginTop_12_mobile__yv8y4r4e',tablet:'atoms_marginTop_12_tablet__yv8y4r4f'},defaultClass:'atoms_marginTop_12_mobile__yv8y4r4e'},'14':{conditions:{mobile:'atoms_marginTop_14_mobile__yv8y4r4g',tablet:'atoms_marginTop_14_tablet__yv8y4r4h'},defaultClass:'atoms_marginTop_14_mobile__yv8y4r4g'},'16':{conditions:{mobile:'atoms_marginTop_16_mobile__yv8y4r4i',tablet:'atoms_marginTop_16_tablet__yv8y4r4j'},defaultClass:'atoms_marginTop_16_mobile__yv8y4r4i'},'20':{conditions:{mobile:'atoms_marginTop_20_mobile__yv8y4r4k',tablet:'atoms_marginTop_20_tablet__yv8y4r4l'},defaultClass:'atoms_marginTop_20_mobile__yv8y4r4k'},'24':{conditions:{mobile:'atoms_marginTop_24_mobile__yv8y4r4m',tablet:'atoms_marginTop_24_tablet__yv8y4r4n'},defaultClass:'atoms_marginTop_24_mobile__yv8y4r4m'},'28':{conditions:{mobile:'atoms_marginTop_28_mobile__yv8y4r4o',tablet:'atoms_marginTop_28_tablet__yv8y4r4p'},defaultClass:'atoms_marginTop_28_mobile__yv8y4r4o'},'32':{conditions:{mobile:'atoms_marginTop_32_mobile__yv8y4r4q',tablet:'atoms_marginTop_32_tablet__yv8y4r4r'},defaultClass:'atoms_marginTop_32_mobile__yv8y4r4q'},'36':{conditions:{mobile:'atoms_marginTop_36_mobile__yv8y4r4s',tablet:'atoms_marginTop_36_tablet__yv8y4r4t'},defaultClass:'atoms_marginTop_36_mobile__yv8y4r4s'},'40':{conditions:{mobile:'atoms_marginTop_40_mobile__yv8y4r4u',tablet:'atoms_marginTop_40_tablet__yv8y4r4v'},defaultClass:'atoms_marginTop_40_mobile__yv8y4r4u'},'44':{conditions:{mobile:'atoms_marginTop_44_mobile__yv8y4r4w',tablet:'atoms_marginTop_44_tablet__yv8y4r4x'},defaultClass:'atoms_marginTop_44_mobile__yv8y4r4w'},'48':{conditions:{mobile:'atoms_marginTop_48_mobile__yv8y4r4y',tablet:'atoms_marginTop_48_tablet__yv8y4r4z'},defaultClass:'atoms_marginTop_48_mobile__yv8y4r4y'},full:{conditions:{mobile:'atoms_marginTop_full_mobile__yv8y4r50',tablet:'atoms_marginTop_full_tablet__yv8y4r51'},defaultClass:'atoms_marginTop_full_mobile__yv8y4r50'},unset:{conditions:{mobile:'atoms_marginTop_unset_mobile__yv8y4r52',tablet:'atoms_marginTop_unset_tablet__yv8y4r53'},defaultClass:'atoms_marginTop_unset_mobile__yv8y4r52'},auto:{conditions:{mobile:'atoms_marginTop_auto_mobile__yv8y4r54',tablet:'atoms_marginTop_auto_tablet__yv8y4r55'},defaultClass:'atoms_marginTop_auto_mobile__yv8y4r54'},px:{conditions:{mobile:'atoms_marginTop_px_mobile__yv8y4r56',tablet:'atoms_marginTop_px_tablet__yv8y4r57'},defaultClass:'atoms_marginTop_px_mobile__yv8y4r56'},buttonMinHeight:{conditions:{mobile:'atoms_marginTop_buttonMinHeight_mobile__yv8y4r58',tablet:'atoms_marginTop_buttonMinHeight_tablet__yv8y4r59'},defaultClass:'atoms_marginTop_buttonMinHeight_mobile__yv8y4r58'}}},marginBottom:{values:{'0':{conditions:{mobile:'atoms_marginBottom_0_mobile__yv8y4r5a',tablet:'atoms_marginBottom_0_tablet__yv8y4r5b'},defaultClass:'atoms_marginBottom_0_mobile__yv8y4r5a'},'1':{conditions:{mobile:'atoms_marginBottom_1_mobile__yv8y4r5c',tablet:'atoms_marginBottom_1_tablet__yv8y4r5d'},defaultClass:'atoms_marginBottom_1_mobile__yv8y4r5c'},'2':{conditions:{mobile:'atoms_marginBottom_2_mobile__yv8y4r5e',tablet:'atoms_marginBottom_2_tablet__yv8y4r5f'},defaultClass:'atoms_marginBottom_2_mobile__yv8y4r5e'},'3':{conditions:{mobile:'atoms_marginBottom_3_mobile__yv8y4r5g',tablet:'atoms_marginBottom_3_tablet__yv8y4r5h'},defaultClass:'atoms_marginBottom_3_mobile__yv8y4r5g'},'4':{conditions:{mobile:'atoms_marginBottom_4_mobile__yv8y4r5i',tablet:'atoms_marginBottom_4_tablet__yv8y4r5j'},defaultClass:'atoms_marginBottom_4_mobile__yv8y4r5i'},'5':{conditions:{mobile:'atoms_marginBottom_5_mobile__yv8y4r5k',tablet:'atoms_marginBottom_5_tablet__yv8y4r5l'},defaultClass:'atoms_marginBottom_5_mobile__yv8y4r5k'},'6':{conditions:{mobile:'atoms_marginBottom_6_mobile__yv8y4r5m',tablet:'atoms_marginBottom_6_tablet__yv8y4r5n'},defaultClass:'atoms_marginBottom_6_mobile__yv8y4r5m'},'7':{conditions:{mobile:'atoms_marginBottom_7_mobile__yv8y4r5o',tablet:'atoms_marginBottom_7_tablet__yv8y4r5p'},defaultClass:'atoms_marginBottom_7_mobile__yv8y4r5o'},'8':{conditions:{mobile:'atoms_marginBottom_8_mobile__yv8y4r5q',tablet:'atoms_marginBottom_8_tablet__yv8y4r5r'},defaultClass:'atoms_marginBottom_8_mobile__yv8y4r5q'},'9':{conditions:{mobile:'atoms_marginBottom_9_mobile__yv8y4r5s',tablet:'atoms_marginBottom_9_tablet__yv8y4r5t'},defaultClass:'atoms_marginBottom_9_mobile__yv8y4r5s'},'10':{conditions:{mobile:'atoms_marginBottom_10_mobile__yv8y4r5u',tablet:'atoms_marginBottom_10_tablet__yv8y4r5v'},defaultClass:'atoms_marginBottom_10_mobile__yv8y4r5u'},'12':{conditions:{mobile:'atoms_marginBottom_12_mobile__yv8y4r5w',tablet:'atoms_marginBottom_12_tablet__yv8y4r5x'},defaultClass:'atoms_marginBottom_12_mobile__yv8y4r5w'},'14':{conditions:{mobile:'atoms_marginBottom_14_mobile__yv8y4r5y',tablet:'atoms_marginBottom_14_tablet__yv8y4r5z'},defaultClass:'atoms_marginBottom_14_mobile__yv8y4r5y'},'16':{conditions:{mobile:'atoms_marginBottom_16_mobile__yv8y4r60',tablet:'atoms_marginBottom_16_tablet__yv8y4r61'},defaultClass:'atoms_marginBottom_16_mobile__yv8y4r60'},'20':{conditions:{mobile:'atoms_marginBottom_20_mobile__yv8y4r62',tablet:'atoms_marginBottom_20_tablet__yv8y4r63'},defaultClass:'atoms_marginBottom_20_mobile__yv8y4r62'},'24':{conditions:{mobile:'atoms_marginBottom_24_mobile__yv8y4r64',tablet:'atoms_marginBottom_24_tablet__yv8y4r65'},defaultClass:'atoms_marginBottom_24_mobile__yv8y4r64'},'28':{conditions:{mobile:'atoms_marginBottom_28_mobile__yv8y4r66',tablet:'atoms_marginBottom_28_tablet__yv8y4r67'},defaultClass:'atoms_marginBottom_28_mobile__yv8y4r66'},'32':{conditions:{mobile:'atoms_marginBottom_32_mobile__yv8y4r68',tablet:'atoms_marginBottom_32_tablet__yv8y4r69'},defaultClass:'atoms_marginBottom_32_mobile__yv8y4r68'},'36':{conditions:{mobile:'atoms_marginBottom_36_mobile__yv8y4r6a',tablet:'atoms_marginBottom_36_tablet__yv8y4r6b'},defaultClass:'atoms_marginBottom_36_mobile__yv8y4r6a'},'40':{conditions:{mobile:'atoms_marginBottom_40_mobile__yv8y4r6c',tablet:'atoms_marginBottom_40_tablet__yv8y4r6d'},defaultClass:'atoms_marginBottom_40_mobile__yv8y4r6c'},'44':{conditions:{mobile:'atoms_marginBottom_44_mobile__yv8y4r6e',tablet:'atoms_marginBottom_44_tablet__yv8y4r6f'},defaultClass:'atoms_marginBottom_44_mobile__yv8y4r6e'},'48':{conditions:{mobile:'atoms_marginBottom_48_mobile__yv8y4r6g',tablet:'atoms_marginBottom_48_tablet__yv8y4r6h'},defaultClass:'atoms_marginBottom_48_mobile__yv8y4r6g'},full:{conditions:{mobile:'atoms_marginBottom_full_mobile__yv8y4r6i',tablet:'atoms_marginBottom_full_tablet__yv8y4r6j'},defaultClass:'atoms_marginBottom_full_mobile__yv8y4r6i'},unset:{conditions:{mobile:'atoms_marginBottom_unset_mobile__yv8y4r6k',tablet:'atoms_marginBottom_unset_tablet__yv8y4r6l'},defaultClass:'atoms_marginBottom_unset_mobile__yv8y4r6k'},auto:{conditions:{mobile:'atoms_marginBottom_auto_mobile__yv8y4r6m',tablet:'atoms_marginBottom_auto_tablet__yv8y4r6n'},defaultClass:'atoms_marginBottom_auto_mobile__yv8y4r6m'},px:{conditions:{mobile:'atoms_marginBottom_px_mobile__yv8y4r6o',tablet:'atoms_marginBottom_px_tablet__yv8y4r6p'},defaultClass:'atoms_marginBottom_px_mobile__yv8y4r6o'},buttonMinHeight:{conditions:{mobile:'atoms_marginBottom_buttonMinHeight_mobile__yv8y4r6q',tablet:'atoms_marginBottom_buttonMinHeight_tablet__yv8y4r6r'},defaultClass:'atoms_marginBottom_buttonMinHeight_mobile__yv8y4r6q'}}},marginRight:{values:{'0':{conditions:{mobile:'atoms_marginRight_0_mobile__yv8y4r6s',tablet:'atoms_marginRight_0_tablet__yv8y4r6t'},defaultClass:'atoms_marginRight_0_mobile__yv8y4r6s'},'1':{conditions:{mobile:'atoms_marginRight_1_mobile__yv8y4r6u',tablet:'atoms_marginRight_1_tablet__yv8y4r6v'},defaultClass:'atoms_marginRight_1_mobile__yv8y4r6u'},'2':{conditions:{mobile:'atoms_marginRight_2_mobile__yv8y4r6w',tablet:'atoms_marginRight_2_tablet__yv8y4r6x'},defaultClass:'atoms_marginRight_2_mobile__yv8y4r6w'},'3':{conditions:{mobile:'atoms_marginRight_3_mobile__yv8y4r6y',tablet:'atoms_marginRight_3_tablet__yv8y4r6z'},defaultClass:'atoms_marginRight_3_mobile__yv8y4r6y'},'4':{conditions:{mobile:'atoms_marginRight_4_mobile__yv8y4r70',tablet:'atoms_marginRight_4_tablet__yv8y4r71'},defaultClass:'atoms_marginRight_4_mobile__yv8y4r70'},'5':{conditions:{mobile:'atoms_marginRight_5_mobile__yv8y4r72',tablet:'atoms_marginRight_5_tablet__yv8y4r73'},defaultClass:'atoms_marginRight_5_mobile__yv8y4r72'},'6':{conditions:{mobile:'atoms_marginRight_6_mobile__yv8y4r74',tablet:'atoms_marginRight_6_tablet__yv8y4r75'},defaultClass:'atoms_marginRight_6_mobile__yv8y4r74'},'7':{conditions:{mobile:'atoms_marginRight_7_mobile__yv8y4r76',tablet:'atoms_marginRight_7_tablet__yv8y4r77'},defaultClass:'atoms_marginRight_7_mobile__yv8y4r76'},'8':{conditions:{mobile:'atoms_marginRight_8_mobile__yv8y4r78',tablet:'atoms_marginRight_8_tablet__yv8y4r79'},defaultClass:'atoms_marginRight_8_mobile__yv8y4r78'},'9':{conditions:{mobile:'atoms_marginRight_9_mobile__yv8y4r7a',tablet:'atoms_marginRight_9_tablet__yv8y4r7b'},defaultClass:'atoms_marginRight_9_mobile__yv8y4r7a'},'10':{conditions:{mobile:'atoms_marginRight_10_mobile__yv8y4r7c',tablet:'atoms_marginRight_10_tablet__yv8y4r7d'},defaultClass:'atoms_marginRight_10_mobile__yv8y4r7c'},'12':{conditions:{mobile:'atoms_marginRight_12_mobile__yv8y4r7e',tablet:'atoms_marginRight_12_tablet__yv8y4r7f'},defaultClass:'atoms_marginRight_12_mobile__yv8y4r7e'},'14':{conditions:{mobile:'atoms_marginRight_14_mobile__yv8y4r7g',tablet:'atoms_marginRight_14_tablet__yv8y4r7h'},defaultClass:'atoms_marginRight_14_mobile__yv8y4r7g'},'16':{conditions:{mobile:'atoms_marginRight_16_mobile__yv8y4r7i',tablet:'atoms_marginRight_16_tablet__yv8y4r7j'},defaultClass:'atoms_marginRight_16_mobile__yv8y4r7i'},'20':{conditions:{mobile:'atoms_marginRight_20_mobile__yv8y4r7k',tablet:'atoms_marginRight_20_tablet__yv8y4r7l'},defaultClass:'atoms_marginRight_20_mobile__yv8y4r7k'},'24':{conditions:{mobile:'atoms_marginRight_24_mobile__yv8y4r7m',tablet:'atoms_marginRight_24_tablet__yv8y4r7n'},defaultClass:'atoms_marginRight_24_mobile__yv8y4r7m'},'28':{conditions:{mobile:'atoms_marginRight_28_mobile__yv8y4r7o',tablet:'atoms_marginRight_28_tablet__yv8y4r7p'},defaultClass:'atoms_marginRight_28_mobile__yv8y4r7o'},'32':{conditions:{mobile:'atoms_marginRight_32_mobile__yv8y4r7q',tablet:'atoms_marginRight_32_tablet__yv8y4r7r'},defaultClass:'atoms_marginRight_32_mobile__yv8y4r7q'},'36':{conditions:{mobile:'atoms_marginRight_36_mobile__yv8y4r7s',tablet:'atoms_marginRight_36_tablet__yv8y4r7t'},defaultClass:'atoms_marginRight_36_mobile__yv8y4r7s'},'40':{conditions:{mobile:'atoms_marginRight_40_mobile__yv8y4r7u',tablet:'atoms_marginRight_40_tablet__yv8y4r7v'},defaultClass:'atoms_marginRight_40_mobile__yv8y4r7u'},'44':{conditions:{mobile:'atoms_marginRight_44_mobile__yv8y4r7w',tablet:'atoms_marginRight_44_tablet__yv8y4r7x'},defaultClass:'atoms_marginRight_44_mobile__yv8y4r7w'},'48':{conditions:{mobile:'atoms_marginRight_48_mobile__yv8y4r7y',tablet:'atoms_marginRight_48_tablet__yv8y4r7z'},defaultClass:'atoms_marginRight_48_mobile__yv8y4r7y'},full:{conditions:{mobile:'atoms_marginRight_full_mobile__yv8y4r80',tablet:'atoms_marginRight_full_tablet__yv8y4r81'},defaultClass:'atoms_marginRight_full_mobile__yv8y4r80'},unset:{conditions:{mobile:'atoms_marginRight_unset_mobile__yv8y4r82',tablet:'atoms_marginRight_unset_tablet__yv8y4r83'},defaultClass:'atoms_marginRight_unset_mobile__yv8y4r82'},auto:{conditions:{mobile:'atoms_marginRight_auto_mobile__yv8y4r84',tablet:'atoms_marginRight_auto_tablet__yv8y4r85'},defaultClass:'atoms_marginRight_auto_mobile__yv8y4r84'},px:{conditions:{mobile:'atoms_marginRight_px_mobile__yv8y4r86',tablet:'atoms_marginRight_px_tablet__yv8y4r87'},defaultClass:'atoms_marginRight_px_mobile__yv8y4r86'},buttonMinHeight:{conditions:{mobile:'atoms_marginRight_buttonMinHeight_mobile__yv8y4r88',tablet:'atoms_marginRight_buttonMinHeight_tablet__yv8y4r89'},defaultClass:'atoms_marginRight_buttonMinHeight_mobile__yv8y4r88'}}},marginLeft:{values:{'0':{conditions:{mobile:'atoms_marginLeft_0_mobile__yv8y4r8a',tablet:'atoms_marginLeft_0_tablet__yv8y4r8b'},defaultClass:'atoms_marginLeft_0_mobile__yv8y4r8a'},'1':{conditions:{mobile:'atoms_marginLeft_1_mobile__yv8y4r8c',tablet:'atoms_marginLeft_1_tablet__yv8y4r8d'},defaultClass:'atoms_marginLeft_1_mobile__yv8y4r8c'},'2':{conditions:{mobile:'atoms_marginLeft_2_mobile__yv8y4r8e',tablet:'atoms_marginLeft_2_tablet__yv8y4r8f'},defaultClass:'atoms_marginLeft_2_mobile__yv8y4r8e'},'3':{conditions:{mobile:'atoms_marginLeft_3_mobile__yv8y4r8g',tablet:'atoms_marginLeft_3_tablet__yv8y4r8h'},defaultClass:'atoms_marginLeft_3_mobile__yv8y4r8g'},'4':{conditions:{mobile:'atoms_marginLeft_4_mobile__yv8y4r8i',tablet:'atoms_marginLeft_4_tablet__yv8y4r8j'},defaultClass:'atoms_marginLeft_4_mobile__yv8y4r8i'},'5':{conditions:{mobile:'atoms_marginLeft_5_mobile__yv8y4r8k',tablet:'atoms_marginLeft_5_tablet__yv8y4r8l'},defaultClass:'atoms_marginLeft_5_mobile__yv8y4r8k'},'6':{conditions:{mobile:'atoms_marginLeft_6_mobile__yv8y4r8m',tablet:'atoms_marginLeft_6_tablet__yv8y4r8n'},defaultClass:'atoms_marginLeft_6_mobile__yv8y4r8m'},'7':{conditions:{mobile:'atoms_marginLeft_7_mobile__yv8y4r8o',tablet:'atoms_marginLeft_7_tablet__yv8y4r8p'},defaultClass:'atoms_marginLeft_7_mobile__yv8y4r8o'},'8':{conditions:{mobile:'atoms_marginLeft_8_mobile__yv8y4r8q',tablet:'atoms_marginLeft_8_tablet__yv8y4r8r'},defaultClass:'atoms_marginLeft_8_mobile__yv8y4r8q'},'9':{conditions:{mobile:'atoms_marginLeft_9_mobile__yv8y4r8s',tablet:'atoms_marginLeft_9_tablet__yv8y4r8t'},defaultClass:'atoms_marginLeft_9_mobile__yv8y4r8s'},'10':{conditions:{mobile:'atoms_marginLeft_10_mobile__yv8y4r8u',tablet:'atoms_marginLeft_10_tablet__yv8y4r8v'},defaultClass:'atoms_marginLeft_10_mobile__yv8y4r8u'},'12':{conditions:{mobile:'atoms_marginLeft_12_mobile__yv8y4r8w',tablet:'atoms_marginLeft_12_tablet__yv8y4r8x'},defaultClass:'atoms_marginLeft_12_mobile__yv8y4r8w'},'14':{conditions:{mobile:'atoms_marginLeft_14_mobile__yv8y4r8y',tablet:'atoms_marginLeft_14_tablet__yv8y4r8z'},defaultClass:'atoms_marginLeft_14_mobile__yv8y4r8y'},'16':{conditions:{mobile:'atoms_marginLeft_16_mobile__yv8y4r90',tablet:'atoms_marginLeft_16_tablet__yv8y4r91'},defaultClass:'atoms_marginLeft_16_mobile__yv8y4r90'},'20':{conditions:{mobile:'atoms_marginLeft_20_mobile__yv8y4r92',tablet:'atoms_marginLeft_20_tablet__yv8y4r93'},defaultClass:'atoms_marginLeft_20_mobile__yv8y4r92'},'24':{conditions:{mobile:'atoms_marginLeft_24_mobile__yv8y4r94',tablet:'atoms_marginLeft_24_tablet__yv8y4r95'},defaultClass:'atoms_marginLeft_24_mobile__yv8y4r94'},'28':{conditions:{mobile:'atoms_marginLeft_28_mobile__yv8y4r96',tablet:'atoms_marginLeft_28_tablet__yv8y4r97'},defaultClass:'atoms_marginLeft_28_mobile__yv8y4r96'},'32':{conditions:{mobile:'atoms_marginLeft_32_mobile__yv8y4r98',tablet:'atoms_marginLeft_32_tablet__yv8y4r99'},defaultClass:'atoms_marginLeft_32_mobile__yv8y4r98'},'36':{conditions:{mobile:'atoms_marginLeft_36_mobile__yv8y4r9a',tablet:'atoms_marginLeft_36_tablet__yv8y4r9b'},defaultClass:'atoms_marginLeft_36_mobile__yv8y4r9a'},'40':{conditions:{mobile:'atoms_marginLeft_40_mobile__yv8y4r9c',tablet:'atoms_marginLeft_40_tablet__yv8y4r9d'},defaultClass:'atoms_marginLeft_40_mobile__yv8y4r9c'},'44':{conditions:{mobile:'atoms_marginLeft_44_mobile__yv8y4r9e',tablet:'atoms_marginLeft_44_tablet__yv8y4r9f'},defaultClass:'atoms_marginLeft_44_mobile__yv8y4r9e'},'48':{conditions:{mobile:'atoms_marginLeft_48_mobile__yv8y4r9g',tablet:'atoms_marginLeft_48_tablet__yv8y4r9h'},defaultClass:'atoms_marginLeft_48_mobile__yv8y4r9g'},full:{conditions:{mobile:'atoms_marginLeft_full_mobile__yv8y4r9i',tablet:'atoms_marginLeft_full_tablet__yv8y4r9j'},defaultClass:'atoms_marginLeft_full_mobile__yv8y4r9i'},unset:{conditions:{mobile:'atoms_marginLeft_unset_mobile__yv8y4r9k',tablet:'atoms_marginLeft_unset_tablet__yv8y4r9l'},defaultClass:'atoms_marginLeft_unset_mobile__yv8y4r9k'},auto:{conditions:{mobile:'atoms_marginLeft_auto_mobile__yv8y4r9m',tablet:'atoms_marginLeft_auto_tablet__yv8y4r9n'},defaultClass:'atoms_marginLeft_auto_mobile__yv8y4r9m'},px:{conditions:{mobile:'atoms_marginLeft_px_mobile__yv8y4r9o',tablet:'atoms_marginLeft_px_tablet__yv8y4r9p'},defaultClass:'atoms_marginLeft_px_mobile__yv8y4r9o'},buttonMinHeight:{conditions:{mobile:'atoms_marginLeft_buttonMinHeight_mobile__yv8y4r9q',tablet:'atoms_marginLeft_buttonMinHeight_tablet__yv8y4r9r'},defaultClass:'atoms_marginLeft_buttonMinHeight_mobile__yv8y4r9q'}}},paddingTop:{values:{'0':{conditions:{mobile:'atoms_paddingTop_0_mobile__yv8y4r9s',tablet:'atoms_paddingTop_0_tablet__yv8y4r9t'},defaultClass:'atoms_paddingTop_0_mobile__yv8y4r9s'},'1':{conditions:{mobile:'atoms_paddingTop_1_mobile__yv8y4r9u',tablet:'atoms_paddingTop_1_tablet__yv8y4r9v'},defaultClass:'atoms_paddingTop_1_mobile__yv8y4r9u'},'2':{conditions:{mobile:'atoms_paddingTop_2_mobile__yv8y4r9w',tablet:'atoms_paddingTop_2_tablet__yv8y4r9x'},defaultClass:'atoms_paddingTop_2_mobile__yv8y4r9w'},'3':{conditions:{mobile:'atoms_paddingTop_3_mobile__yv8y4r9y',tablet:'atoms_paddingTop_3_tablet__yv8y4r9z'},defaultClass:'atoms_paddingTop_3_mobile__yv8y4r9y'},'4':{conditions:{mobile:'atoms_paddingTop_4_mobile__yv8y4ra0',tablet:'atoms_paddingTop_4_tablet__yv8y4ra1'},defaultClass:'atoms_paddingTop_4_mobile__yv8y4ra0'},'5':{conditions:{mobile:'atoms_paddingTop_5_mobile__yv8y4ra2',tablet:'atoms_paddingTop_5_tablet__yv8y4ra3'},defaultClass:'atoms_paddingTop_5_mobile__yv8y4ra2'},'6':{conditions:{mobile:'atoms_paddingTop_6_mobile__yv8y4ra4',tablet:'atoms_paddingTop_6_tablet__yv8y4ra5'},defaultClass:'atoms_paddingTop_6_mobile__yv8y4ra4'},'7':{conditions:{mobile:'atoms_paddingTop_7_mobile__yv8y4ra6',tablet:'atoms_paddingTop_7_tablet__yv8y4ra7'},defaultClass:'atoms_paddingTop_7_mobile__yv8y4ra6'},'8':{conditions:{mobile:'atoms_paddingTop_8_mobile__yv8y4ra8',tablet:'atoms_paddingTop_8_tablet__yv8y4ra9'},defaultClass:'atoms_paddingTop_8_mobile__yv8y4ra8'},'9':{conditions:{mobile:'atoms_paddingTop_9_mobile__yv8y4raa',tablet:'atoms_paddingTop_9_tablet__yv8y4rab'},defaultClass:'atoms_paddingTop_9_mobile__yv8y4raa'},'10':{conditions:{mobile:'atoms_paddingTop_10_mobile__yv8y4rac',tablet:'atoms_paddingTop_10_tablet__yv8y4rad'},defaultClass:'atoms_paddingTop_10_mobile__yv8y4rac'},'12':{conditions:{mobile:'atoms_paddingTop_12_mobile__yv8y4rae',tablet:'atoms_paddingTop_12_tablet__yv8y4raf'},defaultClass:'atoms_paddingTop_12_mobile__yv8y4rae'},'14':{conditions:{mobile:'atoms_paddingTop_14_mobile__yv8y4rag',tablet:'atoms_paddingTop_14_tablet__yv8y4rah'},defaultClass:'atoms_paddingTop_14_mobile__yv8y4rag'},'16':{conditions:{mobile:'atoms_paddingTop_16_mobile__yv8y4rai',tablet:'atoms_paddingTop_16_tablet__yv8y4raj'},defaultClass:'atoms_paddingTop_16_mobile__yv8y4rai'},'20':{conditions:{mobile:'atoms_paddingTop_20_mobile__yv8y4rak',tablet:'atoms_paddingTop_20_tablet__yv8y4ral'},defaultClass:'atoms_paddingTop_20_mobile__yv8y4rak'},'24':{conditions:{mobile:'atoms_paddingTop_24_mobile__yv8y4ram',tablet:'atoms_paddingTop_24_tablet__yv8y4ran'},defaultClass:'atoms_paddingTop_24_mobile__yv8y4ram'},'28':{conditions:{mobile:'atoms_paddingTop_28_mobile__yv8y4rao',tablet:'atoms_paddingTop_28_tablet__yv8y4rap'},defaultClass:'atoms_paddingTop_28_mobile__yv8y4rao'},'32':{conditions:{mobile:'atoms_paddingTop_32_mobile__yv8y4raq',tablet:'atoms_paddingTop_32_tablet__yv8y4rar'},defaultClass:'atoms_paddingTop_32_mobile__yv8y4raq'},'36':{conditions:{mobile:'atoms_paddingTop_36_mobile__yv8y4ras',tablet:'atoms_paddingTop_36_tablet__yv8y4rat'},defaultClass:'atoms_paddingTop_36_mobile__yv8y4ras'},'40':{conditions:{mobile:'atoms_paddingTop_40_mobile__yv8y4rau',tablet:'atoms_paddingTop_40_tablet__yv8y4rav'},defaultClass:'atoms_paddingTop_40_mobile__yv8y4rau'},'44':{conditions:{mobile:'atoms_paddingTop_44_mobile__yv8y4raw',tablet:'atoms_paddingTop_44_tablet__yv8y4rax'},defaultClass:'atoms_paddingTop_44_mobile__yv8y4raw'},'48':{conditions:{mobile:'atoms_paddingTop_48_mobile__yv8y4ray',tablet:'atoms_paddingTop_48_tablet__yv8y4raz'},defaultClass:'atoms_paddingTop_48_mobile__yv8y4ray'},full:{conditions:{mobile:'atoms_paddingTop_full_mobile__yv8y4rb0',tablet:'atoms_paddingTop_full_tablet__yv8y4rb1'},defaultClass:'atoms_paddingTop_full_mobile__yv8y4rb0'},unset:{conditions:{mobile:'atoms_paddingTop_unset_mobile__yv8y4rb2',tablet:'atoms_paddingTop_unset_tablet__yv8y4rb3'},defaultClass:'atoms_paddingTop_unset_mobile__yv8y4rb2'},auto:{conditions:{mobile:'atoms_paddingTop_auto_mobile__yv8y4rb4',tablet:'atoms_paddingTop_auto_tablet__yv8y4rb5'},defaultClass:'atoms_paddingTop_auto_mobile__yv8y4rb4'},px:{conditions:{mobile:'atoms_paddingTop_px_mobile__yv8y4rb6',tablet:'atoms_paddingTop_px_tablet__yv8y4rb7'},defaultClass:'atoms_paddingTop_px_mobile__yv8y4rb6'},buttonMinHeight:{conditions:{mobile:'atoms_paddingTop_buttonMinHeight_mobile__yv8y4rb8',tablet:'atoms_paddingTop_buttonMinHeight_tablet__yv8y4rb9'},defaultClass:'atoms_paddingTop_buttonMinHeight_mobile__yv8y4rb8'}}},paddingBottom:{values:{'0':{conditions:{mobile:'atoms_paddingBottom_0_mobile__yv8y4rba',tablet:'atoms_paddingBottom_0_tablet__yv8y4rbb'},defaultClass:'atoms_paddingBottom_0_mobile__yv8y4rba'},'1':{conditions:{mobile:'atoms_paddingBottom_1_mobile__yv8y4rbc',tablet:'atoms_paddingBottom_1_tablet__yv8y4rbd'},defaultClass:'atoms_paddingBottom_1_mobile__yv8y4rbc'},'2':{conditions:{mobile:'atoms_paddingBottom_2_mobile__yv8y4rbe',tablet:'atoms_paddingBottom_2_tablet__yv8y4rbf'},defaultClass:'atoms_paddingBottom_2_mobile__yv8y4rbe'},'3':{conditions:{mobile:'atoms_paddingBottom_3_mobile__yv8y4rbg',tablet:'atoms_paddingBottom_3_tablet__yv8y4rbh'},defaultClass:'atoms_paddingBottom_3_mobile__yv8y4rbg'},'4':{conditions:{mobile:'atoms_paddingBottom_4_mobile__yv8y4rbi',tablet:'atoms_paddingBottom_4_tablet__yv8y4rbj'},defaultClass:'atoms_paddingBottom_4_mobile__yv8y4rbi'},'5':{conditions:{mobile:'atoms_paddingBottom_5_mobile__yv8y4rbk',tablet:'atoms_paddingBottom_5_tablet__yv8y4rbl'},defaultClass:'atoms_paddingBottom_5_mobile__yv8y4rbk'},'6':{conditions:{mobile:'atoms_paddingBottom_6_mobile__yv8y4rbm',tablet:'atoms_paddingBottom_6_tablet__yv8y4rbn'},defaultClass:'atoms_paddingBottom_6_mobile__yv8y4rbm'},'7':{conditions:{mobile:'atoms_paddingBottom_7_mobile__yv8y4rbo',tablet:'atoms_paddingBottom_7_tablet__yv8y4rbp'},defaultClass:'atoms_paddingBottom_7_mobile__yv8y4rbo'},'8':{conditions:{mobile:'atoms_paddingBottom_8_mobile__yv8y4rbq',tablet:'atoms_paddingBottom_8_tablet__yv8y4rbr'},defaultClass:'atoms_paddingBottom_8_mobile__yv8y4rbq'},'9':{conditions:{mobile:'atoms_paddingBottom_9_mobile__yv8y4rbs',tablet:'atoms_paddingBottom_9_tablet__yv8y4rbt'},defaultClass:'atoms_paddingBottom_9_mobile__yv8y4rbs'},'10':{conditions:{mobile:'atoms_paddingBottom_10_mobile__yv8y4rbu',tablet:'atoms_paddingBottom_10_tablet__yv8y4rbv'},defaultClass:'atoms_paddingBottom_10_mobile__yv8y4rbu'},'12':{conditions:{mobile:'atoms_paddingBottom_12_mobile__yv8y4rbw',tablet:'atoms_paddingBottom_12_tablet__yv8y4rbx'},defaultClass:'atoms_paddingBottom_12_mobile__yv8y4rbw'},'14':{conditions:{mobile:'atoms_paddingBottom_14_mobile__yv8y4rby',tablet:'atoms_paddingBottom_14_tablet__yv8y4rbz'},defaultClass:'atoms_paddingBottom_14_mobile__yv8y4rby'},'16':{conditions:{mobile:'atoms_paddingBottom_16_mobile__yv8y4rc0',tablet:'atoms_paddingBottom_16_tablet__yv8y4rc1'},defaultClass:'atoms_paddingBottom_16_mobile__yv8y4rc0'},'20':{conditions:{mobile:'atoms_paddingBottom_20_mobile__yv8y4rc2',tablet:'atoms_paddingBottom_20_tablet__yv8y4rc3'},defaultClass:'atoms_paddingBottom_20_mobile__yv8y4rc2'},'24':{conditions:{mobile:'atoms_paddingBottom_24_mobile__yv8y4rc4',tablet:'atoms_paddingBottom_24_tablet__yv8y4rc5'},defaultClass:'atoms_paddingBottom_24_mobile__yv8y4rc4'},'28':{conditions:{mobile:'atoms_paddingBottom_28_mobile__yv8y4rc6',tablet:'atoms_paddingBottom_28_tablet__yv8y4rc7'},defaultClass:'atoms_paddingBottom_28_mobile__yv8y4rc6'},'32':{conditions:{mobile:'atoms_paddingBottom_32_mobile__yv8y4rc8',tablet:'atoms_paddingBottom_32_tablet__yv8y4rc9'},defaultClass:'atoms_paddingBottom_32_mobile__yv8y4rc8'},'36':{conditions:{mobile:'atoms_paddingBottom_36_mobile__yv8y4rca',tablet:'atoms_paddingBottom_36_tablet__yv8y4rcb'},defaultClass:'atoms_paddingBottom_36_mobile__yv8y4rca'},'40':{conditions:{mobile:'atoms_paddingBottom_40_mobile__yv8y4rcc',tablet:'atoms_paddingBottom_40_tablet__yv8y4rcd'},defaultClass:'atoms_paddingBottom_40_mobile__yv8y4rcc'},'44':{conditions:{mobile:'atoms_paddingBottom_44_mobile__yv8y4rce',tablet:'atoms_paddingBottom_44_tablet__yv8y4rcf'},defaultClass:'atoms_paddingBottom_44_mobile__yv8y4rce'},'48':{conditions:{mobile:'atoms_paddingBottom_48_mobile__yv8y4rcg',tablet:'atoms_paddingBottom_48_tablet__yv8y4rch'},defaultClass:'atoms_paddingBottom_48_mobile__yv8y4rcg'},full:{conditions:{mobile:'atoms_paddingBottom_full_mobile__yv8y4rci',tablet:'atoms_paddingBottom_full_tablet__yv8y4rcj'},defaultClass:'atoms_paddingBottom_full_mobile__yv8y4rci'},unset:{conditions:{mobile:'atoms_paddingBottom_unset_mobile__yv8y4rck',tablet:'atoms_paddingBottom_unset_tablet__yv8y4rcl'},defaultClass:'atoms_paddingBottom_unset_mobile__yv8y4rck'},auto:{conditions:{mobile:'atoms_paddingBottom_auto_mobile__yv8y4rcm',tablet:'atoms_paddingBottom_auto_tablet__yv8y4rcn'},defaultClass:'atoms_paddingBottom_auto_mobile__yv8y4rcm'},px:{conditions:{mobile:'atoms_paddingBottom_px_mobile__yv8y4rco',tablet:'atoms_paddingBottom_px_tablet__yv8y4rcp'},defaultClass:'atoms_paddingBottom_px_mobile__yv8y4rco'},buttonMinHeight:{conditions:{mobile:'atoms_paddingBottom_buttonMinHeight_mobile__yv8y4rcq',tablet:'atoms_paddingBottom_buttonMinHeight_tablet__yv8y4rcr'},defaultClass:'atoms_paddingBottom_buttonMinHeight_mobile__yv8y4rcq'}}},paddingRight:{values:{'0':{conditions:{mobile:'atoms_paddingRight_0_mobile__yv8y4rcs',tablet:'atoms_paddingRight_0_tablet__yv8y4rct'},defaultClass:'atoms_paddingRight_0_mobile__yv8y4rcs'},'1':{conditions:{mobile:'atoms_paddingRight_1_mobile__yv8y4rcu',tablet:'atoms_paddingRight_1_tablet__yv8y4rcv'},defaultClass:'atoms_paddingRight_1_mobile__yv8y4rcu'},'2':{conditions:{mobile:'atoms_paddingRight_2_mobile__yv8y4rcw',tablet:'atoms_paddingRight_2_tablet__yv8y4rcx'},defaultClass:'atoms_paddingRight_2_mobile__yv8y4rcw'},'3':{conditions:{mobile:'atoms_paddingRight_3_mobile__yv8y4rcy',tablet:'atoms_paddingRight_3_tablet__yv8y4rcz'},defaultClass:'atoms_paddingRight_3_mobile__yv8y4rcy'},'4':{conditions:{mobile:'atoms_paddingRight_4_mobile__yv8y4rd0',tablet:'atoms_paddingRight_4_tablet__yv8y4rd1'},defaultClass:'atoms_paddingRight_4_mobile__yv8y4rd0'},'5':{conditions:{mobile:'atoms_paddingRight_5_mobile__yv8y4rd2',tablet:'atoms_paddingRight_5_tablet__yv8y4rd3'},defaultClass:'atoms_paddingRight_5_mobile__yv8y4rd2'},'6':{conditions:{mobile:'atoms_paddingRight_6_mobile__yv8y4rd4',tablet:'atoms_paddingRight_6_tablet__yv8y4rd5'},defaultClass:'atoms_paddingRight_6_mobile__yv8y4rd4'},'7':{conditions:{mobile:'atoms_paddingRight_7_mobile__yv8y4rd6',tablet:'atoms_paddingRight_7_tablet__yv8y4rd7'},defaultClass:'atoms_paddingRight_7_mobile__yv8y4rd6'},'8':{conditions:{mobile:'atoms_paddingRight_8_mobile__yv8y4rd8',tablet:'atoms_paddingRight_8_tablet__yv8y4rd9'},defaultClass:'atoms_paddingRight_8_mobile__yv8y4rd8'},'9':{conditions:{mobile:'atoms_paddingRight_9_mobile__yv8y4rda',tablet:'atoms_paddingRight_9_tablet__yv8y4rdb'},defaultClass:'atoms_paddingRight_9_mobile__yv8y4rda'},'10':{conditions:{mobile:'atoms_paddingRight_10_mobile__yv8y4rdc',tablet:'atoms_paddingRight_10_tablet__yv8y4rdd'},defaultClass:'atoms_paddingRight_10_mobile__yv8y4rdc'},'12':{conditions:{mobile:'atoms_paddingRight_12_mobile__yv8y4rde',tablet:'atoms_paddingRight_12_tablet__yv8y4rdf'},defaultClass:'atoms_paddingRight_12_mobile__yv8y4rde'},'14':{conditions:{mobile:'atoms_paddingRight_14_mobile__yv8y4rdg',tablet:'atoms_paddingRight_14_tablet__yv8y4rdh'},defaultClass:'atoms_paddingRight_14_mobile__yv8y4rdg'},'16':{conditions:{mobile:'atoms_paddingRight_16_mobile__yv8y4rdi',tablet:'atoms_paddingRight_16_tablet__yv8y4rdj'},defaultClass:'atoms_paddingRight_16_mobile__yv8y4rdi'},'20':{conditions:{mobile:'atoms_paddingRight_20_mobile__yv8y4rdk',tablet:'atoms_paddingRight_20_tablet__yv8y4rdl'},defaultClass:'atoms_paddingRight_20_mobile__yv8y4rdk'},'24':{conditions:{mobile:'atoms_paddingRight_24_mobile__yv8y4rdm',tablet:'atoms_paddingRight_24_tablet__yv8y4rdn'},defaultClass:'atoms_paddingRight_24_mobile__yv8y4rdm'},'28':{conditions:{mobile:'atoms_paddingRight_28_mobile__yv8y4rdo',tablet:'atoms_paddingRight_28_tablet__yv8y4rdp'},defaultClass:'atoms_paddingRight_28_mobile__yv8y4rdo'},'32':{conditions:{mobile:'atoms_paddingRight_32_mobile__yv8y4rdq',tablet:'atoms_paddingRight_32_tablet__yv8y4rdr'},defaultClass:'atoms_paddingRight_32_mobile__yv8y4rdq'},'36':{conditions:{mobile:'atoms_paddingRight_36_mobile__yv8y4rds',tablet:'atoms_paddingRight_36_tablet__yv8y4rdt'},defaultClass:'atoms_paddingRight_36_mobile__yv8y4rds'},'40':{conditions:{mobile:'atoms_paddingRight_40_mobile__yv8y4rdu',tablet:'atoms_paddingRight_40_tablet__yv8y4rdv'},defaultClass:'atoms_paddingRight_40_mobile__yv8y4rdu'},'44':{conditions:{mobile:'atoms_paddingRight_44_mobile__yv8y4rdw',tablet:'atoms_paddingRight_44_tablet__yv8y4rdx'},defaultClass:'atoms_paddingRight_44_mobile__yv8y4rdw'},'48':{conditions:{mobile:'atoms_paddingRight_48_mobile__yv8y4rdy',tablet:'atoms_paddingRight_48_tablet__yv8y4rdz'},defaultClass:'atoms_paddingRight_48_mobile__yv8y4rdy'},full:{conditions:{mobile:'atoms_paddingRight_full_mobile__yv8y4re0',tablet:'atoms_paddingRight_full_tablet__yv8y4re1'},defaultClass:'atoms_paddingRight_full_mobile__yv8y4re0'},unset:{conditions:{mobile:'atoms_paddingRight_unset_mobile__yv8y4re2',tablet:'atoms_paddingRight_unset_tablet__yv8y4re3'},defaultClass:'atoms_paddingRight_unset_mobile__yv8y4re2'},auto:{conditions:{mobile:'atoms_paddingRight_auto_mobile__yv8y4re4',tablet:'atoms_paddingRight_auto_tablet__yv8y4re5'},defaultClass:'atoms_paddingRight_auto_mobile__yv8y4re4'},px:{conditions:{mobile:'atoms_paddingRight_px_mobile__yv8y4re6',tablet:'atoms_paddingRight_px_tablet__yv8y4re7'},defaultClass:'atoms_paddingRight_px_mobile__yv8y4re6'},buttonMinHeight:{conditions:{mobile:'atoms_paddingRight_buttonMinHeight_mobile__yv8y4re8',tablet:'atoms_paddingRight_buttonMinHeight_tablet__yv8y4re9'},defaultClass:'atoms_paddingRight_buttonMinHeight_mobile__yv8y4re8'}}},paddingLeft:{values:{'0':{conditions:{mobile:'atoms_paddingLeft_0_mobile__yv8y4rea',tablet:'atoms_paddingLeft_0_tablet__yv8y4reb'},defaultClass:'atoms_paddingLeft_0_mobile__yv8y4rea'},'1':{conditions:{mobile:'atoms_paddingLeft_1_mobile__yv8y4rec',tablet:'atoms_paddingLeft_1_tablet__yv8y4red'},defaultClass:'atoms_paddingLeft_1_mobile__yv8y4rec'},'2':{conditions:{mobile:'atoms_paddingLeft_2_mobile__yv8y4ree',tablet:'atoms_paddingLeft_2_tablet__yv8y4ref'},defaultClass:'atoms_paddingLeft_2_mobile__yv8y4ree'},'3':{conditions:{mobile:'atoms_paddingLeft_3_mobile__yv8y4reg',tablet:'atoms_paddingLeft_3_tablet__yv8y4reh'},defaultClass:'atoms_paddingLeft_3_mobile__yv8y4reg'},'4':{conditions:{mobile:'atoms_paddingLeft_4_mobile__yv8y4rei',tablet:'atoms_paddingLeft_4_tablet__yv8y4rej'},defaultClass:'atoms_paddingLeft_4_mobile__yv8y4rei'},'5':{conditions:{mobile:'atoms_paddingLeft_5_mobile__yv8y4rek',tablet:'atoms_paddingLeft_5_tablet__yv8y4rel'},defaultClass:'atoms_paddingLeft_5_mobile__yv8y4rek'},'6':{conditions:{mobile:'atoms_paddingLeft_6_mobile__yv8y4rem',tablet:'atoms_paddingLeft_6_tablet__yv8y4ren'},defaultClass:'atoms_paddingLeft_6_mobile__yv8y4rem'},'7':{conditions:{mobile:'atoms_paddingLeft_7_mobile__yv8y4reo',tablet:'atoms_paddingLeft_7_tablet__yv8y4rep'},defaultClass:'atoms_paddingLeft_7_mobile__yv8y4reo'},'8':{conditions:{mobile:'atoms_paddingLeft_8_mobile__yv8y4req',tablet:'atoms_paddingLeft_8_tablet__yv8y4rer'},defaultClass:'atoms_paddingLeft_8_mobile__yv8y4req'},'9':{conditions:{mobile:'atoms_paddingLeft_9_mobile__yv8y4res',tablet:'atoms_paddingLeft_9_tablet__yv8y4ret'},defaultClass:'atoms_paddingLeft_9_mobile__yv8y4res'},'10':{conditions:{mobile:'atoms_paddingLeft_10_mobile__yv8y4reu',tablet:'atoms_paddingLeft_10_tablet__yv8y4rev'},defaultClass:'atoms_paddingLeft_10_mobile__yv8y4reu'},'12':{conditions:{mobile:'atoms_paddingLeft_12_mobile__yv8y4rew',tablet:'atoms_paddingLeft_12_tablet__yv8y4rex'},defaultClass:'atoms_paddingLeft_12_mobile__yv8y4rew'},'14':{conditions:{mobile:'atoms_paddingLeft_14_mobile__yv8y4rey',tablet:'atoms_paddingLeft_14_tablet__yv8y4rez'},defaultClass:'atoms_paddingLeft_14_mobile__yv8y4rey'},'16':{conditions:{mobile:'atoms_paddingLeft_16_mobile__yv8y4rf0',tablet:'atoms_paddingLeft_16_tablet__yv8y4rf1'},defaultClass:'atoms_paddingLeft_16_mobile__yv8y4rf0'},'20':{conditions:{mobile:'atoms_paddingLeft_20_mobile__yv8y4rf2',tablet:'atoms_paddingLeft_20_tablet__yv8y4rf3'},defaultClass:'atoms_paddingLeft_20_mobile__yv8y4rf2'},'24':{conditions:{mobile:'atoms_paddingLeft_24_mobile__yv8y4rf4',tablet:'atoms_paddingLeft_24_tablet__yv8y4rf5'},defaultClass:'atoms_paddingLeft_24_mobile__yv8y4rf4'},'28':{conditions:{mobile:'atoms_paddingLeft_28_mobile__yv8y4rf6',tablet:'atoms_paddingLeft_28_tablet__yv8y4rf7'},defaultClass:'atoms_paddingLeft_28_mobile__yv8y4rf6'},'32':{conditions:{mobile:'atoms_paddingLeft_32_mobile__yv8y4rf8',tablet:'atoms_paddingLeft_32_tablet__yv8y4rf9'},defaultClass:'atoms_paddingLeft_32_mobile__yv8y4rf8'},'36':{conditions:{mobile:'atoms_paddingLeft_36_mobile__yv8y4rfa',tablet:'atoms_paddingLeft_36_tablet__yv8y4rfb'},defaultClass:'atoms_paddingLeft_36_mobile__yv8y4rfa'},'40':{conditions:{mobile:'atoms_paddingLeft_40_mobile__yv8y4rfc',tablet:'atoms_paddingLeft_40_tablet__yv8y4rfd'},defaultClass:'atoms_paddingLeft_40_mobile__yv8y4rfc'},'44':{conditions:{mobile:'atoms_paddingLeft_44_mobile__yv8y4rfe',tablet:'atoms_paddingLeft_44_tablet__yv8y4rff'},defaultClass:'atoms_paddingLeft_44_mobile__yv8y4rfe'},'48':{conditions:{mobile:'atoms_paddingLeft_48_mobile__yv8y4rfg',tablet:'atoms_paddingLeft_48_tablet__yv8y4rfh'},defaultClass:'atoms_paddingLeft_48_mobile__yv8y4rfg'},full:{conditions:{mobile:'atoms_paddingLeft_full_mobile__yv8y4rfi',tablet:'atoms_paddingLeft_full_tablet__yv8y4rfj'},defaultClass:'atoms_paddingLeft_full_mobile__yv8y4rfi'},unset:{conditions:{mobile:'atoms_paddingLeft_unset_mobile__yv8y4rfk',tablet:'atoms_paddingLeft_unset_tablet__yv8y4rfl'},defaultClass:'atoms_paddingLeft_unset_mobile__yv8y4rfk'},auto:{conditions:{mobile:'atoms_paddingLeft_auto_mobile__yv8y4rfm',tablet:'atoms_paddingLeft_auto_tablet__yv8y4rfn'},defaultClass:'atoms_paddingLeft_auto_mobile__yv8y4rfm'},px:{conditions:{mobile:'atoms_paddingLeft_px_mobile__yv8y4rfo',tablet:'atoms_paddingLeft_px_tablet__yv8y4rfp'},defaultClass:'atoms_paddingLeft_px_mobile__yv8y4rfo'},buttonMinHeight:{conditions:{mobile:'atoms_paddingLeft_buttonMinHeight_mobile__yv8y4rfq',tablet:'atoms_paddingLeft_buttonMinHeight_tablet__yv8y4rfr'},defaultClass:'atoms_paddingLeft_buttonMinHeight_mobile__yv8y4rfq'}}},alignItems:{values:{'flex-start':{conditions:{mobile:'atoms_alignItems_flex-start_mobile__yv8y4rfs',tablet:'atoms_alignItems_flex-start_tablet__yv8y4rft'},defaultClass:'atoms_alignItems_flex-start_mobile__yv8y4rfs'},'flex-end':{conditions:{mobile:'atoms_alignItems_flex-end_mobile__yv8y4rfu',tablet:'atoms_alignItems_flex-end_tablet__yv8y4rfv'},defaultClass:'atoms_alignItems_flex-end_mobile__yv8y4rfu'},center:{conditions:{mobile:'atoms_alignItems_center_mobile__yv8y4rfw',tablet:'atoms_alignItems_center_tablet__yv8y4rfx'},defaultClass:'atoms_alignItems_center_mobile__yv8y4rfw'}}},justifyContent:{values:{'flex-start':{conditions:{mobile:'atoms_justifyContent_flex-start_mobile__yv8y4rfy',tablet:'atoms_justifyContent_flex-start_tablet__yv8y4rfz'},defaultClass:'atoms_justifyContent_flex-start_mobile__yv8y4rfy'},'flex-end':{conditions:{mobile:'atoms_justifyContent_flex-end_mobile__yv8y4rg0',tablet:'atoms_justifyContent_flex-end_tablet__yv8y4rg1'},defaultClass:'atoms_justifyContent_flex-end_mobile__yv8y4rg0'},center:{conditions:{mobile:'atoms_justifyContent_center_mobile__yv8y4rg2',tablet:'atoms_justifyContent_center_tablet__yv8y4rg3'},defaultClass:'atoms_justifyContent_center_mobile__yv8y4rg2'},'space-between':{conditions:{mobile:'atoms_justifyContent_space-between_mobile__yv8y4rg4',tablet:'atoms_justifyContent_space-between_tablet__yv8y4rg5'},defaultClass:'atoms_justifyContent_space-between_mobile__yv8y4rg4'}}},flexDirection:{values:{row:{conditions:{mobile:'atoms_flexDirection_row_mobile__yv8y4rg6',tablet:'atoms_flexDirection_row_tablet__yv8y4rg7'},defaultClass:'atoms_flexDirection_row_mobile__yv8y4rg6'},column:{conditions:{mobile:'atoms_flexDirection_column_mobile__yv8y4rg8',tablet:'atoms_flexDirection_column_tablet__yv8y4rg9'},defaultClass:'atoms_flexDirection_column_mobile__yv8y4rg8'},'row-reverse':{conditions:{mobile:'atoms_flexDirection_row-reverse_mobile__yv8y4rga',tablet:'atoms_flexDirection_row-reverse_tablet__yv8y4rgb'},defaultClass:'atoms_flexDirection_row-reverse_mobile__yv8y4rga'},'column-reverse':{conditions:{mobile:'atoms_flexDirection_column-reverse_mobile__yv8y4rgc',tablet:'atoms_flexDirection_column-reverse_tablet__yv8y4rgd'},defaultClass:'atoms_flexDirection_column-reverse_mobile__yv8y4rgc'}}},flexWrap:{values:{wrap:{conditions:{mobile:'atoms_flexWrap_wrap_mobile__yv8y4rge',tablet:'atoms_flexWrap_wrap_tablet__yv8y4rgf'},defaultClass:'atoms_flexWrap_wrap_mobile__yv8y4rge'},nowrap:{conditions:{mobile:'atoms_flexWrap_nowrap_mobile__yv8y4rgg',tablet:'atoms_flexWrap_nowrap_tablet__yv8y4rgh'},defaultClass:'atoms_flexWrap_nowrap_mobile__yv8y4rgg'}}},height:{values:{'0':{conditions:{mobile:'atoms_height_0_mobile__yv8y4rgi',tablet:'atoms_height_0_tablet__yv8y4rgj'},defaultClass:'atoms_height_0_mobile__yv8y4rgi'},'1':{conditions:{mobile:'atoms_height_1_mobile__yv8y4rgk',tablet:'atoms_height_1_tablet__yv8y4rgl'},defaultClass:'atoms_height_1_mobile__yv8y4rgk'},'2':{conditions:{mobile:'atoms_height_2_mobile__yv8y4rgm',tablet:'atoms_height_2_tablet__yv8y4rgn'},defaultClass:'atoms_height_2_mobile__yv8y4rgm'},'3':{conditions:{mobile:'atoms_height_3_mobile__yv8y4rgo',tablet:'atoms_height_3_tablet__yv8y4rgp'},defaultClass:'atoms_height_3_mobile__yv8y4rgo'},'4':{conditions:{mobile:'atoms_height_4_mobile__yv8y4rgq',tablet:'atoms_height_4_tablet__yv8y4rgr'},defaultClass:'atoms_height_4_mobile__yv8y4rgq'},'5':{conditions:{mobile:'atoms_height_5_mobile__yv8y4rgs',tablet:'atoms_height_5_tablet__yv8y4rgt'},defaultClass:'atoms_height_5_mobile__yv8y4rgs'},'6':{conditions:{mobile:'atoms_height_6_mobile__yv8y4rgu',tablet:'atoms_height_6_tablet__yv8y4rgv'},defaultClass:'atoms_height_6_mobile__yv8y4rgu'},'7':{conditions:{mobile:'atoms_height_7_mobile__yv8y4rgw',tablet:'atoms_height_7_tablet__yv8y4rgx'},defaultClass:'atoms_height_7_mobile__yv8y4rgw'},'8':{conditions:{mobile:'atoms_height_8_mobile__yv8y4rgy',tablet:'atoms_height_8_tablet__yv8y4rgz'},defaultClass:'atoms_height_8_mobile__yv8y4rgy'},'9':{conditions:{mobile:'atoms_height_9_mobile__yv8y4rh0',tablet:'atoms_height_9_tablet__yv8y4rh1'},defaultClass:'atoms_height_9_mobile__yv8y4rh0'},'10':{conditions:{mobile:'atoms_height_10_mobile__yv8y4rh2',tablet:'atoms_height_10_tablet__yv8y4rh3'},defaultClass:'atoms_height_10_mobile__yv8y4rh2'},'12':{conditions:{mobile:'atoms_height_12_mobile__yv8y4rh4',tablet:'atoms_height_12_tablet__yv8y4rh5'},defaultClass:'atoms_height_12_mobile__yv8y4rh4'},'14':{conditions:{mobile:'atoms_height_14_mobile__yv8y4rh6',tablet:'atoms_height_14_tablet__yv8y4rh7'},defaultClass:'atoms_height_14_mobile__yv8y4rh6'},'16':{conditions:{mobile:'atoms_height_16_mobile__yv8y4rh8',tablet:'atoms_height_16_tablet__yv8y4rh9'},defaultClass:'atoms_height_16_mobile__yv8y4rh8'},'20':{conditions:{mobile:'atoms_height_20_mobile__yv8y4rha',tablet:'atoms_height_20_tablet__yv8y4rhb'},defaultClass:'atoms_height_20_mobile__yv8y4rha'},'24':{conditions:{mobile:'atoms_height_24_mobile__yv8y4rhc',tablet:'atoms_height_24_tablet__yv8y4rhd'},defaultClass:'atoms_height_24_mobile__yv8y4rhc'},'28':{conditions:{mobile:'atoms_height_28_mobile__yv8y4rhe',tablet:'atoms_height_28_tablet__yv8y4rhf'},defaultClass:'atoms_height_28_mobile__yv8y4rhe'},'32':{conditions:{mobile:'atoms_height_32_mobile__yv8y4rhg',tablet:'atoms_height_32_tablet__yv8y4rhh'},defaultClass:'atoms_height_32_mobile__yv8y4rhg'},'36':{conditions:{mobile:'atoms_height_36_mobile__yv8y4rhi',tablet:'atoms_height_36_tablet__yv8y4rhj'},defaultClass:'atoms_height_36_mobile__yv8y4rhi'},'40':{conditions:{mobile:'atoms_height_40_mobile__yv8y4rhk',tablet:'atoms_height_40_tablet__yv8y4rhl'},defaultClass:'atoms_height_40_mobile__yv8y4rhk'},'44':{conditions:{mobile:'atoms_height_44_mobile__yv8y4rhm',tablet:'atoms_height_44_tablet__yv8y4rhn'},defaultClass:'atoms_height_44_mobile__yv8y4rhm'},'48':{conditions:{mobile:'atoms_height_48_mobile__yv8y4rho',tablet:'atoms_height_48_tablet__yv8y4rhp'},defaultClass:'atoms_height_48_mobile__yv8y4rho'},full:{conditions:{mobile:'atoms_height_full_mobile__yv8y4rhq',tablet:'atoms_height_full_tablet__yv8y4rhr'},defaultClass:'atoms_height_full_mobile__yv8y4rhq'},unset:{conditions:{mobile:'atoms_height_unset_mobile__yv8y4rhs',tablet:'atoms_height_unset_tablet__yv8y4rht'},defaultClass:'atoms_height_unset_mobile__yv8y4rhs'},auto:{conditions:{mobile:'atoms_height_auto_mobile__yv8y4rhu',tablet:'atoms_height_auto_tablet__yv8y4rhv'},defaultClass:'atoms_height_auto_mobile__yv8y4rhu'},px:{conditions:{mobile:'atoms_height_px_mobile__yv8y4rhw',tablet:'atoms_height_px_tablet__yv8y4rhx'},defaultClass:'atoms_height_px_mobile__yv8y4rhw'},buttonMinHeight:{conditions:{mobile:'atoms_height_buttonMinHeight_mobile__yv8y4rhy',tablet:'atoms_height_buttonMinHeight_tablet__yv8y4rhz'},defaultClass:'atoms_height_buttonMinHeight_mobile__yv8y4rhy'}}},width:{values:{'0':{conditions:{mobile:'atoms_width_0_mobile__yv8y4ri0',tablet:'atoms_width_0_tablet__yv8y4ri1'},defaultClass:'atoms_width_0_mobile__yv8y4ri0'},'1':{conditions:{mobile:'atoms_width_1_mobile__yv8y4ri2',tablet:'atoms_width_1_tablet__yv8y4ri3'},defaultClass:'atoms_width_1_mobile__yv8y4ri2'},'2':{conditions:{mobile:'atoms_width_2_mobile__yv8y4ri4',tablet:'atoms_width_2_tablet__yv8y4ri5'},defaultClass:'atoms_width_2_mobile__yv8y4ri4'},'3':{conditions:{mobile:'atoms_width_3_mobile__yv8y4ri6',tablet:'atoms_width_3_tablet__yv8y4ri7'},defaultClass:'atoms_width_3_mobile__yv8y4ri6'},'4':{conditions:{mobile:'atoms_width_4_mobile__yv8y4ri8',tablet:'atoms_width_4_tablet__yv8y4ri9'},defaultClass:'atoms_width_4_mobile__yv8y4ri8'},'5':{conditions:{mobile:'atoms_width_5_mobile__yv8y4ria',tablet:'atoms_width_5_tablet__yv8y4rib'},defaultClass:'atoms_width_5_mobile__yv8y4ria'},'6':{conditions:{mobile:'atoms_width_6_mobile__yv8y4ric',tablet:'atoms_width_6_tablet__yv8y4rid'},defaultClass:'atoms_width_6_mobile__yv8y4ric'},'7':{conditions:{mobile:'atoms_width_7_mobile__yv8y4rie',tablet:'atoms_width_7_tablet__yv8y4rif'},defaultClass:'atoms_width_7_mobile__yv8y4rie'},'8':{conditions:{mobile:'atoms_width_8_mobile__yv8y4rig',tablet:'atoms_width_8_tablet__yv8y4rih'},defaultClass:'atoms_width_8_mobile__yv8y4rig'},'9':{conditions:{mobile:'atoms_width_9_mobile__yv8y4rii',tablet:'atoms_width_9_tablet__yv8y4rij'},defaultClass:'atoms_width_9_mobile__yv8y4rii'},'10':{conditions:{mobile:'atoms_width_10_mobile__yv8y4rik',tablet:'atoms_width_10_tablet__yv8y4ril'},defaultClass:'atoms_width_10_mobile__yv8y4rik'},'12':{conditions:{mobile:'atoms_width_12_mobile__yv8y4rim',tablet:'atoms_width_12_tablet__yv8y4rin'},defaultClass:'atoms_width_12_mobile__yv8y4rim'},'14':{conditions:{mobile:'atoms_width_14_mobile__yv8y4rio',tablet:'atoms_width_14_tablet__yv8y4rip'},defaultClass:'atoms_width_14_mobile__yv8y4rio'},'16':{conditions:{mobile:'atoms_width_16_mobile__yv8y4riq',tablet:'atoms_width_16_tablet__yv8y4rir'},defaultClass:'atoms_width_16_mobile__yv8y4riq'},'20':{conditions:{mobile:'atoms_width_20_mobile__yv8y4ris',tablet:'atoms_width_20_tablet__yv8y4rit'},defaultClass:'atoms_width_20_mobile__yv8y4ris'},'24':{conditions:{mobile:'atoms_width_24_mobile__yv8y4riu',tablet:'atoms_width_24_tablet__yv8y4riv'},defaultClass:'atoms_width_24_mobile__yv8y4riu'},'28':{conditions:{mobile:'atoms_width_28_mobile__yv8y4riw',tablet:'atoms_width_28_tablet__yv8y4rix'},defaultClass:'atoms_width_28_mobile__yv8y4riw'},'32':{conditions:{mobile:'atoms_width_32_mobile__yv8y4riy',tablet:'atoms_width_32_tablet__yv8y4riz'},defaultClass:'atoms_width_32_mobile__yv8y4riy'},'36':{conditions:{mobile:'atoms_width_36_mobile__yv8y4rj0',tablet:'atoms_width_36_tablet__yv8y4rj1'},defaultClass:'atoms_width_36_mobile__yv8y4rj0'},'40':{conditions:{mobile:'atoms_width_40_mobile__yv8y4rj2',tablet:'atoms_width_40_tablet__yv8y4rj3'},defaultClass:'atoms_width_40_mobile__yv8y4rj2'},'44':{conditions:{mobile:'atoms_width_44_mobile__yv8y4rj4',tablet:'atoms_width_44_tablet__yv8y4rj5'},defaultClass:'atoms_width_44_mobile__yv8y4rj4'},'48':{conditions:{mobile:'atoms_width_48_mobile__yv8y4rj6',tablet:'atoms_width_48_tablet__yv8y4rj7'},defaultClass:'atoms_width_48_mobile__yv8y4rj6'},full:{conditions:{mobile:'atoms_width_full_mobile__yv8y4rj8',tablet:'atoms_width_full_tablet__yv8y4rj9'},defaultClass:'atoms_width_full_mobile__yv8y4rj8'},unset:{conditions:{mobile:'atoms_width_unset_mobile__yv8y4rja',tablet:'atoms_width_unset_tablet__yv8y4rjb'},defaultClass:'atoms_width_unset_mobile__yv8y4rja'},auto:{conditions:{mobile:'atoms_width_auto_mobile__yv8y4rjc',tablet:'atoms_width_auto_tablet__yv8y4rjd'},defaultClass:'atoms_width_auto_mobile__yv8y4rjc'},px:{conditions:{mobile:'atoms_width_px_mobile__yv8y4rje',tablet:'atoms_width_px_tablet__yv8y4rjf'},defaultClass:'atoms_width_px_mobile__yv8y4rje'},buttonMinHeight:{conditions:{mobile:'atoms_width_buttonMinHeight_mobile__yv8y4rjg',tablet:'atoms_width_buttonMinHeight_tablet__yv8y4rjh'},defaultClass:'atoms_width_buttonMinHeight_mobile__yv8y4rjg'}}},minWidth:{values:{'0':{conditions:{mobile:'atoms_minWidth_0_mobile__yv8y4rji',tablet:'atoms_minWidth_0_tablet__yv8y4rjj'},defaultClass:'atoms_minWidth_0_mobile__yv8y4rji'},'1':{conditions:{mobile:'atoms_minWidth_1_mobile__yv8y4rjk',tablet:'atoms_minWidth_1_tablet__yv8y4rjl'},defaultClass:'atoms_minWidth_1_mobile__yv8y4rjk'},'2':{conditions:{mobile:'atoms_minWidth_2_mobile__yv8y4rjm',tablet:'atoms_minWidth_2_tablet__yv8y4rjn'},defaultClass:'atoms_minWidth_2_mobile__yv8y4rjm'},'3':{conditions:{mobile:'atoms_minWidth_3_mobile__yv8y4rjo',tablet:'atoms_minWidth_3_tablet__yv8y4rjp'},defaultClass:'atoms_minWidth_3_mobile__yv8y4rjo'},'4':{conditions:{mobile:'atoms_minWidth_4_mobile__yv8y4rjq',tablet:'atoms_minWidth_4_tablet__yv8y4rjr'},defaultClass:'atoms_minWidth_4_mobile__yv8y4rjq'},'5':{conditions:{mobile:'atoms_minWidth_5_mobile__yv8y4rjs',tablet:'atoms_minWidth_5_tablet__yv8y4rjt'},defaultClass:'atoms_minWidth_5_mobile__yv8y4rjs'},'6':{conditions:{mobile:'atoms_minWidth_6_mobile__yv8y4rju',tablet:'atoms_minWidth_6_tablet__yv8y4rjv'},defaultClass:'atoms_minWidth_6_mobile__yv8y4rju'},'7':{conditions:{mobile:'atoms_minWidth_7_mobile__yv8y4rjw',tablet:'atoms_minWidth_7_tablet__yv8y4rjx'},defaultClass:'atoms_minWidth_7_mobile__yv8y4rjw'},'8':{conditions:{mobile:'atoms_minWidth_8_mobile__yv8y4rjy',tablet:'atoms_minWidth_8_tablet__yv8y4rjz'},defaultClass:'atoms_minWidth_8_mobile__yv8y4rjy'},'9':{conditions:{mobile:'atoms_minWidth_9_mobile__yv8y4rk0',tablet:'atoms_minWidth_9_tablet__yv8y4rk1'},defaultClass:'atoms_minWidth_9_mobile__yv8y4rk0'},'10':{conditions:{mobile:'atoms_minWidth_10_mobile__yv8y4rk2',tablet:'atoms_minWidth_10_tablet__yv8y4rk3'},defaultClass:'atoms_minWidth_10_mobile__yv8y4rk2'},'12':{conditions:{mobile:'atoms_minWidth_12_mobile__yv8y4rk4',tablet:'atoms_minWidth_12_tablet__yv8y4rk5'},defaultClass:'atoms_minWidth_12_mobile__yv8y4rk4'},'14':{conditions:{mobile:'atoms_minWidth_14_mobile__yv8y4rk6',tablet:'atoms_minWidth_14_tablet__yv8y4rk7'},defaultClass:'atoms_minWidth_14_mobile__yv8y4rk6'},'16':{conditions:{mobile:'atoms_minWidth_16_mobile__yv8y4rk8',tablet:'atoms_minWidth_16_tablet__yv8y4rk9'},defaultClass:'atoms_minWidth_16_mobile__yv8y4rk8'},'20':{conditions:{mobile:'atoms_minWidth_20_mobile__yv8y4rka',tablet:'atoms_minWidth_20_tablet__yv8y4rkb'},defaultClass:'atoms_minWidth_20_mobile__yv8y4rka'},'24':{conditions:{mobile:'atoms_minWidth_24_mobile__yv8y4rkc',tablet:'atoms_minWidth_24_tablet__yv8y4rkd'},defaultClass:'atoms_minWidth_24_mobile__yv8y4rkc'},'28':{conditions:{mobile:'atoms_minWidth_28_mobile__yv8y4rke',tablet:'atoms_minWidth_28_tablet__yv8y4rkf'},defaultClass:'atoms_minWidth_28_mobile__yv8y4rke'},'32':{conditions:{mobile:'atoms_minWidth_32_mobile__yv8y4rkg',tablet:'atoms_minWidth_32_tablet__yv8y4rkh'},defaultClass:'atoms_minWidth_32_mobile__yv8y4rkg'},'36':{conditions:{mobile:'atoms_minWidth_36_mobile__yv8y4rki',tablet:'atoms_minWidth_36_tablet__yv8y4rkj'},defaultClass:'atoms_minWidth_36_mobile__yv8y4rki'},'40':{conditions:{mobile:'atoms_minWidth_40_mobile__yv8y4rkk',tablet:'atoms_minWidth_40_tablet__yv8y4rkl'},defaultClass:'atoms_minWidth_40_mobile__yv8y4rkk'},'44':{conditions:{mobile:'atoms_minWidth_44_mobile__yv8y4rkm',tablet:'atoms_minWidth_44_tablet__yv8y4rkn'},defaultClass:'atoms_minWidth_44_mobile__yv8y4rkm'},'48':{conditions:{mobile:'atoms_minWidth_48_mobile__yv8y4rko',tablet:'atoms_minWidth_48_tablet__yv8y4rkp'},defaultClass:'atoms_minWidth_48_mobile__yv8y4rko'},full:{conditions:{mobile:'atoms_minWidth_full_mobile__yv8y4rkq',tablet:'atoms_minWidth_full_tablet__yv8y4rkr'},defaultClass:'atoms_minWidth_full_mobile__yv8y4rkq'},unset:{conditions:{mobile:'atoms_minWidth_unset_mobile__yv8y4rks',tablet:'atoms_minWidth_unset_tablet__yv8y4rkt'},defaultClass:'atoms_minWidth_unset_mobile__yv8y4rks'},auto:{conditions:{mobile:'atoms_minWidth_auto_mobile__yv8y4rku',tablet:'atoms_minWidth_auto_tablet__yv8y4rkv'},defaultClass:'atoms_minWidth_auto_mobile__yv8y4rku'},px:{conditions:{mobile:'atoms_minWidth_px_mobile__yv8y4rkw',tablet:'atoms_minWidth_px_tablet__yv8y4rkx'},defaultClass:'atoms_minWidth_px_mobile__yv8y4rkw'},buttonMinHeight:{conditions:{mobile:'atoms_minWidth_buttonMinHeight_mobile__yv8y4rky',tablet:'atoms_minWidth_buttonMinHeight_tablet__yv8y4rkz'},defaultClass:'atoms_minWidth_buttonMinHeight_mobile__yv8y4rky'}}},minHeight:{values:{'0':{conditions:{mobile:'atoms_minHeight_0_mobile__yv8y4rl0',tablet:'atoms_minHeight_0_tablet__yv8y4rl1'},defaultClass:'atoms_minHeight_0_mobile__yv8y4rl0'},'1':{conditions:{mobile:'atoms_minHeight_1_mobile__yv8y4rl2',tablet:'atoms_minHeight_1_tablet__yv8y4rl3'},defaultClass:'atoms_minHeight_1_mobile__yv8y4rl2'},'2':{conditions:{mobile:'atoms_minHeight_2_mobile__yv8y4rl4',tablet:'atoms_minHeight_2_tablet__yv8y4rl5'},defaultClass:'atoms_minHeight_2_mobile__yv8y4rl4'},'3':{conditions:{mobile:'atoms_minHeight_3_mobile__yv8y4rl6',tablet:'atoms_minHeight_3_tablet__yv8y4rl7'},defaultClass:'atoms_minHeight_3_mobile__yv8y4rl6'},'4':{conditions:{mobile:'atoms_minHeight_4_mobile__yv8y4rl8',tablet:'atoms_minHeight_4_tablet__yv8y4rl9'},defaultClass:'atoms_minHeight_4_mobile__yv8y4rl8'},'5':{conditions:{mobile:'atoms_minHeight_5_mobile__yv8y4rla',tablet:'atoms_minHeight_5_tablet__yv8y4rlb'},defaultClass:'atoms_minHeight_5_mobile__yv8y4rla'},'6':{conditions:{mobile:'atoms_minHeight_6_mobile__yv8y4rlc',tablet:'atoms_minHeight_6_tablet__yv8y4rld'},defaultClass:'atoms_minHeight_6_mobile__yv8y4rlc'},'7':{conditions:{mobile:'atoms_minHeight_7_mobile__yv8y4rle',tablet:'atoms_minHeight_7_tablet__yv8y4rlf'},defaultClass:'atoms_minHeight_7_mobile__yv8y4rle'},'8':{conditions:{mobile:'atoms_minHeight_8_mobile__yv8y4rlg',tablet:'atoms_minHeight_8_tablet__yv8y4rlh'},defaultClass:'atoms_minHeight_8_mobile__yv8y4rlg'},'9':{conditions:{mobile:'atoms_minHeight_9_mobile__yv8y4rli',tablet:'atoms_minHeight_9_tablet__yv8y4rlj'},defaultClass:'atoms_minHeight_9_mobile__yv8y4rli'},'10':{conditions:{mobile:'atoms_minHeight_10_mobile__yv8y4rlk',tablet:'atoms_minHeight_10_tablet__yv8y4rll'},defaultClass:'atoms_minHeight_10_mobile__yv8y4rlk'},'12':{conditions:{mobile:'atoms_minHeight_12_mobile__yv8y4rlm',tablet:'atoms_minHeight_12_tablet__yv8y4rln'},defaultClass:'atoms_minHeight_12_mobile__yv8y4rlm'},'14':{conditions:{mobile:'atoms_minHeight_14_mobile__yv8y4rlo',tablet:'atoms_minHeight_14_tablet__yv8y4rlp'},defaultClass:'atoms_minHeight_14_mobile__yv8y4rlo'},'16':{conditions:{mobile:'atoms_minHeight_16_mobile__yv8y4rlq',tablet:'atoms_minHeight_16_tablet__yv8y4rlr'},defaultClass:'atoms_minHeight_16_mobile__yv8y4rlq'},'20':{conditions:{mobile:'atoms_minHeight_20_mobile__yv8y4rls',tablet:'atoms_minHeight_20_tablet__yv8y4rlt'},defaultClass:'atoms_minHeight_20_mobile__yv8y4rls'},'24':{conditions:{mobile:'atoms_minHeight_24_mobile__yv8y4rlu',tablet:'atoms_minHeight_24_tablet__yv8y4rlv'},defaultClass:'atoms_minHeight_24_mobile__yv8y4rlu'},'28':{conditions:{mobile:'atoms_minHeight_28_mobile__yv8y4rlw',tablet:'atoms_minHeight_28_tablet__yv8y4rlx'},defaultClass:'atoms_minHeight_28_mobile__yv8y4rlw'},'32':{conditions:{mobile:'atoms_minHeight_32_mobile__yv8y4rly',tablet:'atoms_minHeight_32_tablet__yv8y4rlz'},defaultClass:'atoms_minHeight_32_mobile__yv8y4rly'},'36':{conditions:{mobile:'atoms_minHeight_36_mobile__yv8y4rm0',tablet:'atoms_minHeight_36_tablet__yv8y4rm1'},defaultClass:'atoms_minHeight_36_mobile__yv8y4rm0'},'40':{conditions:{mobile:'atoms_minHeight_40_mobile__yv8y4rm2',tablet:'atoms_minHeight_40_tablet__yv8y4rm3'},defaultClass:'atoms_minHeight_40_mobile__yv8y4rm2'},'44':{conditions:{mobile:'atoms_minHeight_44_mobile__yv8y4rm4',tablet:'atoms_minHeight_44_tablet__yv8y4rm5'},defaultClass:'atoms_minHeight_44_mobile__yv8y4rm4'},'48':{conditions:{mobile:'atoms_minHeight_48_mobile__yv8y4rm6',tablet:'atoms_minHeight_48_tablet__yv8y4rm7'},defaultClass:'atoms_minHeight_48_mobile__yv8y4rm6'},full:{conditions:{mobile:'atoms_minHeight_full_mobile__yv8y4rm8',tablet:'atoms_minHeight_full_tablet__yv8y4rm9'},defaultClass:'atoms_minHeight_full_mobile__yv8y4rm8'},unset:{conditions:{mobile:'atoms_minHeight_unset_mobile__yv8y4rma',tablet:'atoms_minHeight_unset_tablet__yv8y4rmb'},defaultClass:'atoms_minHeight_unset_mobile__yv8y4rma'},auto:{conditions:{mobile:'atoms_minHeight_auto_mobile__yv8y4rmc',tablet:'atoms_minHeight_auto_tablet__yv8y4rmd'},defaultClass:'atoms_minHeight_auto_mobile__yv8y4rmc'},px:{conditions:{mobile:'atoms_minHeight_px_mobile__yv8y4rme',tablet:'atoms_minHeight_px_tablet__yv8y4rmf'},defaultClass:'atoms_minHeight_px_mobile__yv8y4rme'},buttonMinHeight:{conditions:{mobile:'atoms_minHeight_buttonMinHeight_mobile__yv8y4rmg',tablet:'atoms_minHeight_buttonMinHeight_tablet__yv8y4rmh'},defaultClass:'atoms_minHeight_buttonMinHeight_mobile__yv8y4rmg'}}}}},{conditions:{defaultCondition:['dark','light'],conditionNames:['light','dark'],responsiveArray:undefined},styles:{color:{values:{white:{conditions:{light:'atoms_color_white_light__yv8y4rmi',dark:'atoms_color_white_dark__yv8y4rmj'},defaultClass:'atoms_color_white_light__yv8y4rmi atoms_color_white_dark__yv8y4rmj'},black:{conditions:{light:'atoms_color_black_light__yv8y4rmk',dark:'atoms_color_black_dark__yv8y4rml'},defaultClass:'atoms_color_black_light__yv8y4rmk atoms_color_black_dark__yv8y4rml'},transparent:{conditions:{light:'atoms_color_transparent_light__yv8y4rmm',dark:'atoms_color_transparent_dark__yv8y4rmn'},defaultClass:'atoms_color_transparent_light__yv8y4rmm atoms_color_transparent_dark__yv8y4rmn'},primary:{conditions:{light:'atoms_color_primary_light__yv8y4rmo',dark:'atoms_color_primary_dark__yv8y4rmp'},defaultClass:'atoms_color_primary_light__yv8y4rmo atoms_color_primary_dark__yv8y4rmp'},accent:{conditions:{light:'atoms_color_accent_light__yv8y4rmq',dark:'atoms_color_accent_dark__yv8y4rmr'},defaultClass:'atoms_color_accent_light__yv8y4rmq atoms_color_accent_dark__yv8y4rmr'},disabled:{conditions:{light:'atoms_color_disabled_light__yv8y4rms',dark:'atoms_color_disabled_dark__yv8y4rmt'},defaultClass:'atoms_color_disabled_light__yv8y4rms atoms_color_disabled_dark__yv8y4rmt'},text:{conditions:{light:'atoms_color_text_light__yv8y4rmu',dark:'atoms_color_text_dark__yv8y4rmv'},defaultClass:'atoms_color_text_light__yv8y4rmu atoms_color_text_dark__yv8y4rmv'},textMuted:{conditions:{light:'atoms_color_textMuted_light__yv8y4rmw',dark:'atoms_color_textMuted_dark__yv8y4rmx'},defaultClass:'atoms_color_textMuted_light__yv8y4rmw atoms_color_textMuted_dark__yv8y4rmx'},textDanger:{conditions:{light:'atoms_color_textDanger_light__yv8y4rmy',dark:'atoms_color_textDanger_dark__yv8y4rmz'},defaultClass:'atoms_color_textDanger_light__yv8y4rmy atoms_color_textDanger_dark__yv8y4rmz'},background:{conditions:{light:'atoms_color_background_light__yv8y4rn0',dark:'atoms_color_background_dark__yv8y4rn1'},defaultClass:'atoms_color_background_light__yv8y4rn0 atoms_color_background_dark__yv8y4rn1'},backgroundMuted:{conditions:{light:'atoms_color_backgroundMuted_light__yv8y4rn2',dark:'atoms_color_backgroundMuted_dark__yv8y4rn3'},defaultClass:'atoms_color_backgroundMuted_light__yv8y4rn2 atoms_color_backgroundMuted_dark__yv8y4rn3'},tokenSelectBackground:{conditions:{light:'atoms_color_tokenSelectBackground_light__yv8y4rn4',dark:'atoms_color_tokenSelectBackground_dark__yv8y4rn5'},defaultClass:'atoms_color_tokenSelectBackground_light__yv8y4rn4 atoms_color_tokenSelectBackground_dark__yv8y4rn5'},tokenSelectHoverBackground:{conditions:{light:'atoms_color_tokenSelectHoverBackground_light__yv8y4rn6',dark:'atoms_color_tokenSelectHoverBackground_dark__yv8y4rn7'},defaultClass:'atoms_color_tokenSelectHoverBackground_light__yv8y4rn6 atoms_color_tokenSelectHoverBackground_dark__yv8y4rn7'},tokenSelect:{conditions:{light:'atoms_color_tokenSelect_light__yv8y4rn8',dark:'atoms_color_tokenSelect_dark__yv8y4rn9'},defaultClass:'atoms_color_tokenSelect_light__yv8y4rn8 atoms_color_tokenSelect_dark__yv8y4rn9'},stakeSectionBackground:{conditions:{light:'atoms_color_stakeSectionBackground_light__yv8y4rna',dark:'atoms_color_stakeSectionBackground_dark__yv8y4rnb'},defaultClass:'atoms_color_stakeSectionBackground_light__yv8y4rna atoms_color_stakeSectionBackground_dark__yv8y4rnb'},positionsSectionBackgroundColor:{conditions:{light:'atoms_color_positionsSectionBackgroundColor_light__yv8y4rnc',dark:'atoms_color_positionsSectionBackgroundColor_dark__yv8y4rnd'},defaultClass:'atoms_color_positionsSectionBackgroundColor_light__yv8y4rnc atoms_color_positionsSectionBackgroundColor_dark__yv8y4rnd'},positionsSectionBorderColor:{conditions:{light:'atoms_color_positionsSectionBorderColor_light__yv8y4rne',dark:'atoms_color_positionsSectionBorderColor_dark__yv8y4rnf'},defaultClass:'atoms_color_positionsSectionBorderColor_light__yv8y4rne atoms_color_positionsSectionBorderColor_dark__yv8y4rnf'},positionsSectionDividerColor:{conditions:{light:'atoms_color_positionsSectionDividerColor_light__yv8y4rng',dark:'atoms_color_positionsSectionDividerColor_dark__yv8y4rnh'},defaultClass:'atoms_color_positionsSectionDividerColor_light__yv8y4rng atoms_color_positionsSectionDividerColor_dark__yv8y4rnh'},modalOverlayBackground:{conditions:{light:'atoms_color_modalOverlayBackground_light__yv8y4rni',dark:'atoms_color_modalOverlayBackground_dark__yv8y4rnj'},defaultClass:'atoms_color_modalOverlayBackground_light__yv8y4rni atoms_color_modalOverlayBackground_dark__yv8y4rnj'},modalBodyBackground:{conditions:{light:'atoms_color_modalBodyBackground_light__yv8y4rnk',dark:'atoms_color_modalBodyBackground_dark__yv8y4rnl'},defaultClass:'atoms_color_modalBodyBackground_light__yv8y4rnk atoms_color_modalBodyBackground_dark__yv8y4rnl'},primaryButtonColor:{conditions:{light:'atoms_color_primaryButtonColor_light__yv8y4rnm',dark:'atoms_color_primaryButtonColor_dark__yv8y4rnn'},defaultClass:'atoms_color_primaryButtonColor_light__yv8y4rnm atoms_color_primaryButtonColor_dark__yv8y4rnn'},primaryButtonBackground:{conditions:{light:'atoms_color_primaryButtonBackground_light__yv8y4rno',dark:'atoms_color_primaryButtonBackground_dark__yv8y4rnp'},defaultClass:'atoms_color_primaryButtonBackground_light__yv8y4rno atoms_color_primaryButtonBackground_dark__yv8y4rnp'},primaryButtonOutline:{conditions:{light:'atoms_color_primaryButtonOutline_light__yv8y4rnq',dark:'atoms_color_primaryButtonOutline_dark__yv8y4rnr'},defaultClass:'atoms_color_primaryButtonOutline_light__yv8y4rnq atoms_color_primaryButtonOutline_dark__yv8y4rnr'},primaryButtonHoverColor:{conditions:{light:'atoms_color_primaryButtonHoverColor_light__yv8y4rns',dark:'atoms_color_primaryButtonHoverColor_dark__yv8y4rnt'},defaultClass:'atoms_color_primaryButtonHoverColor_light__yv8y4rns atoms_color_primaryButtonHoverColor_dark__yv8y4rnt'},primaryButtonHoverBackground:{conditions:{light:'atoms_color_primaryButtonHoverBackground_light__yv8y4rnu',dark:'atoms_color_primaryButtonHoverBackground_dark__yv8y4rnv'},defaultClass:'atoms_color_primaryButtonHoverBackground_light__yv8y4rnu atoms_color_primaryButtonHoverBackground_dark__yv8y4rnv'},primaryButtonHoverOutline:{conditions:{light:'atoms_color_primaryButtonHoverOutline_light__yv8y4rnw',dark:'atoms_color_primaryButtonHoverOutline_dark__yv8y4rnx'},defaultClass:'atoms_color_primaryButtonHoverOutline_light__yv8y4rnw atoms_color_primaryButtonHoverOutline_dark__yv8y4rnx'},primaryButtonActiveColor:{conditions:{light:'atoms_color_primaryButtonActiveColor_light__yv8y4rny',dark:'atoms_color_primaryButtonActiveColor_dark__yv8y4rnz'},defaultClass:'atoms_color_primaryButtonActiveColor_light__yv8y4rny atoms_color_primaryButtonActiveColor_dark__yv8y4rnz'},primaryButtonActiveBackground:{conditions:{light:'atoms_color_primaryButtonActiveBackground_light__yv8y4ro0',dark:'atoms_color_primaryButtonActiveBackground_dark__yv8y4ro1'},defaultClass:'atoms_color_primaryButtonActiveBackground_light__yv8y4ro0 atoms_color_primaryButtonActiveBackground_dark__yv8y4ro1'},primaryButtonActiveOutline:{conditions:{light:'atoms_color_primaryButtonActiveOutline_light__yv8y4ro2',dark:'atoms_color_primaryButtonActiveOutline_dark__yv8y4ro3'},defaultClass:'atoms_color_primaryButtonActiveOutline_light__yv8y4ro2 atoms_color_primaryButtonActiveOutline_dark__yv8y4ro3'},secondaryButtonColor:{conditions:{light:'atoms_color_secondaryButtonColor_light__yv8y4ro4',dark:'atoms_color_secondaryButtonColor_dark__yv8y4ro5'},defaultClass:'atoms_color_secondaryButtonColor_light__yv8y4ro4 atoms_color_secondaryButtonColor_dark__yv8y4ro5'},secondaryButtonBackground:{conditions:{light:'atoms_color_secondaryButtonBackground_light__yv8y4ro6',dark:'atoms_color_secondaryButtonBackground_dark__yv8y4ro7'},defaultClass:'atoms_color_secondaryButtonBackground_light__yv8y4ro6 atoms_color_secondaryButtonBackground_dark__yv8y4ro7'},secondaryButtonOutline:{conditions:{light:'atoms_color_secondaryButtonOutline_light__yv8y4ro8',dark:'atoms_color_secondaryButtonOutline_dark__yv8y4ro9'},defaultClass:'atoms_color_secondaryButtonOutline_light__yv8y4ro8 atoms_color_secondaryButtonOutline_dark__yv8y4ro9'},secondaryButtonHoverColor:{conditions:{light:'atoms_color_secondaryButtonHoverColor_light__yv8y4roa',dark:'atoms_color_secondaryButtonHoverColor_dark__yv8y4rob'},defaultClass:'atoms_color_secondaryButtonHoverColor_light__yv8y4roa atoms_color_secondaryButtonHoverColor_dark__yv8y4rob'},secondaryButtonHoverBackground:{conditions:{light:'atoms_color_secondaryButtonHoverBackground_light__yv8y4roc',dark:'atoms_color_secondaryButtonHoverBackground_dark__yv8y4rod'},defaultClass:'atoms_color_secondaryButtonHoverBackground_light__yv8y4roc atoms_color_secondaryButtonHoverBackground_dark__yv8y4rod'},secondaryButtonHoverOutline:{conditions:{light:'atoms_color_secondaryButtonHoverOutline_light__yv8y4roe',dark:'atoms_color_secondaryButtonHoverOutline_dark__yv8y4rof'},defaultClass:'atoms_color_secondaryButtonHoverOutline_light__yv8y4roe atoms_color_secondaryButtonHoverOutline_dark__yv8y4rof'},secondaryButtonActiveColor:{conditions:{light:'atoms_color_secondaryButtonActiveColor_light__yv8y4rog',dark:'atoms_color_secondaryButtonActiveColor_dark__yv8y4roh'},defaultClass:'atoms_color_secondaryButtonActiveColor_light__yv8y4rog atoms_color_secondaryButtonActiveColor_dark__yv8y4roh'},secondaryButtonActiveBackground:{conditions:{light:'atoms_color_secondaryButtonActiveBackground_light__yv8y4roi',dark:'atoms_color_secondaryButtonActiveBackground_dark__yv8y4roj'},defaultClass:'atoms_color_secondaryButtonActiveBackground_light__yv8y4roi atoms_color_secondaryButtonActiveBackground_dark__yv8y4roj'},secondaryButtonActiveOutline:{conditions:{light:'atoms_color_secondaryButtonActiveOutline_light__yv8y4rok',dark:'atoms_color_secondaryButtonActiveOutline_dark__yv8y4rol'},defaultClass:'atoms_color_secondaryButtonActiveOutline_light__yv8y4rok atoms_color_secondaryButtonActiveOutline_dark__yv8y4rol'},disabledButtonColor:{conditions:{light:'atoms_color_disabledButtonColor_light__yv8y4rom',dark:'atoms_color_disabledButtonColor_dark__yv8y4ron'},defaultClass:'atoms_color_disabledButtonColor_light__yv8y4rom atoms_color_disabledButtonColor_dark__yv8y4ron'},disabledButtonBackground:{conditions:{light:'atoms_color_disabledButtonBackground_light__yv8y4roo',dark:'atoms_color_disabledButtonBackground_dark__yv8y4rop'},defaultClass:'atoms_color_disabledButtonBackground_light__yv8y4roo atoms_color_disabledButtonBackground_dark__yv8y4rop'},disabledButtonOutline:{conditions:{light:'atoms_color_disabledButtonOutline_light__yv8y4roq',dark:'atoms_color_disabledButtonOutline_dark__yv8y4ror'},defaultClass:'atoms_color_disabledButtonOutline_light__yv8y4roq atoms_color_disabledButtonOutline_dark__yv8y4ror'},disabledButtonHoverColor:{conditions:{light:'atoms_color_disabledButtonHoverColor_light__yv8y4ros',dark:'atoms_color_disabledButtonHoverColor_dark__yv8y4rot'},defaultClass:'atoms_color_disabledButtonHoverColor_light__yv8y4ros atoms_color_disabledButtonHoverColor_dark__yv8y4rot'},disabledButtonHoverBackground:{conditions:{light:'atoms_color_disabledButtonHoverBackground_light__yv8y4rou',dark:'atoms_color_disabledButtonHoverBackground_dark__yv8y4rov'},defaultClass:'atoms_color_disabledButtonHoverBackground_light__yv8y4rou atoms_color_disabledButtonHoverBackground_dark__yv8y4rov'},disabledButtonHoverOutline:{conditions:{light:'atoms_color_disabledButtonHoverOutline_light__yv8y4row',dark:'atoms_color_disabledButtonHoverOutline_dark__yv8y4rox'},defaultClass:'atoms_color_disabledButtonHoverOutline_light__yv8y4row atoms_color_disabledButtonHoverOutline_dark__yv8y4rox'},disabledButtonActiveColor:{conditions:{light:'atoms_color_disabledButtonActiveColor_light__yv8y4roy',dark:'atoms_color_disabledButtonActiveColor_dark__yv8y4roz'},defaultClass:'atoms_color_disabledButtonActiveColor_light__yv8y4roy atoms_color_disabledButtonActiveColor_dark__yv8y4roz'},disabledButtonActiveBackground:{conditions:{light:'atoms_color_disabledButtonActiveBackground_light__yv8y4rp0',dark:'atoms_color_disabledButtonActiveBackground_dark__yv8y4rp1'},defaultClass:'atoms_color_disabledButtonActiveBackground_light__yv8y4rp0 atoms_color_disabledButtonActiveBackground_dark__yv8y4rp1'},disabledButtonActiveOutline:{conditions:{light:'atoms_color_disabledButtonActiveOutline_light__yv8y4rp2',dark:'atoms_color_disabledButtonActiveOutline_dark__yv8y4rp3'},defaultClass:'atoms_color_disabledButtonActiveOutline_light__yv8y4rp2 atoms_color_disabledButtonActiveOutline_dark__yv8y4rp3'}}},background:{values:{white:{conditions:{light:'atoms_background_white_light__yv8y4rp4',dark:'atoms_background_white_dark__yv8y4rp5'},defaultClass:'atoms_background_white_light__yv8y4rp4 atoms_background_white_dark__yv8y4rp5'},black:{conditions:{light:'atoms_background_black_light__yv8y4rp6',dark:'atoms_background_black_dark__yv8y4rp7'},defaultClass:'atoms_background_black_light__yv8y4rp6 atoms_background_black_dark__yv8y4rp7'},transparent:{conditions:{light:'atoms_background_transparent_light__yv8y4rp8',dark:'atoms_background_transparent_dark__yv8y4rp9'},defaultClass:'atoms_background_transparent_light__yv8y4rp8 atoms_background_transparent_dark__yv8y4rp9'},primary:{conditions:{light:'atoms_background_primary_light__yv8y4rpa',dark:'atoms_background_primary_dark__yv8y4rpb'},defaultClass:'atoms_background_primary_light__yv8y4rpa atoms_background_primary_dark__yv8y4rpb'},accent:{conditions:{light:'atoms_background_accent_light__yv8y4rpc',dark:'atoms_background_accent_dark__yv8y4rpd'},defaultClass:'atoms_background_accent_light__yv8y4rpc atoms_background_accent_dark__yv8y4rpd'},disabled:{conditions:{light:'atoms_background_disabled_light__yv8y4rpe',dark:'atoms_background_disabled_dark__yv8y4rpf'},defaultClass:'atoms_background_disabled_light__yv8y4rpe atoms_background_disabled_dark__yv8y4rpf'},text:{conditions:{light:'atoms_background_text_light__yv8y4rpg',dark:'atoms_background_text_dark__yv8y4rph'},defaultClass:'atoms_background_text_light__yv8y4rpg atoms_background_text_dark__yv8y4rph'},textMuted:{conditions:{light:'atoms_background_textMuted_light__yv8y4rpi',dark:'atoms_background_textMuted_dark__yv8y4rpj'},defaultClass:'atoms_background_textMuted_light__yv8y4rpi atoms_background_textMuted_dark__yv8y4rpj'},textDanger:{conditions:{light:'atoms_background_textDanger_light__yv8y4rpk',dark:'atoms_background_textDanger_dark__yv8y4rpl'},defaultClass:'atoms_background_textDanger_light__yv8y4rpk atoms_background_textDanger_dark__yv8y4rpl'},background:{conditions:{light:'atoms_background_background_light__yv8y4rpm',dark:'atoms_background_background_dark__yv8y4rpn'},defaultClass:'atoms_background_background_light__yv8y4rpm atoms_background_background_dark__yv8y4rpn'},backgroundMuted:{conditions:{light:'atoms_background_backgroundMuted_light__yv8y4rpo',dark:'atoms_background_backgroundMuted_dark__yv8y4rpp'},defaultClass:'atoms_background_backgroundMuted_light__yv8y4rpo atoms_background_backgroundMuted_dark__yv8y4rpp'},tokenSelectBackground:{conditions:{light:'atoms_background_tokenSelectBackground_light__yv8y4rpq',dark:'atoms_background_tokenSelectBackground_dark__yv8y4rpr'},defaultClass:'atoms_background_tokenSelectBackground_light__yv8y4rpq atoms_background_tokenSelectBackground_dark__yv8y4rpr'},tokenSelectHoverBackground:{conditions:{light:'atoms_background_tokenSelectHoverBackground_light__yv8y4rps',dark:'atoms_background_tokenSelectHoverBackground_dark__yv8y4rpt'},defaultClass:'atoms_background_tokenSelectHoverBackground_light__yv8y4rps atoms_background_tokenSelectHoverBackground_dark__yv8y4rpt'},tokenSelect:{conditions:{light:'atoms_background_tokenSelect_light__yv8y4rpu',dark:'atoms_background_tokenSelect_dark__yv8y4rpv'},defaultClass:'atoms_background_tokenSelect_light__yv8y4rpu atoms_background_tokenSelect_dark__yv8y4rpv'},stakeSectionBackground:{conditions:{light:'atoms_background_stakeSectionBackground_light__yv8y4rpw',dark:'atoms_background_stakeSectionBackground_dark__yv8y4rpx'},defaultClass:'atoms_background_stakeSectionBackground_light__yv8y4rpw atoms_background_stakeSectionBackground_dark__yv8y4rpx'},positionsSectionBackgroundColor:{conditions:{light:'atoms_background_positionsSectionBackgroundColor_light__yv8y4rpy',dark:'atoms_background_positionsSectionBackgroundColor_dark__yv8y4rpz'},defaultClass:'atoms_background_positionsSectionBackgroundColor_light__yv8y4rpy atoms_background_positionsSectionBackgroundColor_dark__yv8y4rpz'},positionsSectionBorderColor:{conditions:{light:'atoms_background_positionsSectionBorderColor_light__yv8y4rq0',dark:'atoms_background_positionsSectionBorderColor_dark__yv8y4rq1'},defaultClass:'atoms_background_positionsSectionBorderColor_light__yv8y4rq0 atoms_background_positionsSectionBorderColor_dark__yv8y4rq1'},positionsSectionDividerColor:{conditions:{light:'atoms_background_positionsSectionDividerColor_light__yv8y4rq2',dark:'atoms_background_positionsSectionDividerColor_dark__yv8y4rq3'},defaultClass:'atoms_background_positionsSectionDividerColor_light__yv8y4rq2 atoms_background_positionsSectionDividerColor_dark__yv8y4rq3'},modalOverlayBackground:{conditions:{light:'atoms_background_modalOverlayBackground_light__yv8y4rq4',dark:'atoms_background_modalOverlayBackground_dark__yv8y4rq5'},defaultClass:'atoms_background_modalOverlayBackground_light__yv8y4rq4 atoms_background_modalOverlayBackground_dark__yv8y4rq5'},modalBodyBackground:{conditions:{light:'atoms_background_modalBodyBackground_light__yv8y4rq6',dark:'atoms_background_modalBodyBackground_dark__yv8y4rq7'},defaultClass:'atoms_background_modalBodyBackground_light__yv8y4rq6 atoms_background_modalBodyBackground_dark__yv8y4rq7'},primaryButtonColor:{conditions:{light:'atoms_background_primaryButtonColor_light__yv8y4rq8',dark:'atoms_background_primaryButtonColor_dark__yv8y4rq9'},defaultClass:'atoms_background_primaryButtonColor_light__yv8y4rq8 atoms_background_primaryButtonColor_dark__yv8y4rq9'},primaryButtonBackground:{conditions:{light:'atoms_background_primaryButtonBackground_light__yv8y4rqa',dark:'atoms_background_primaryButtonBackground_dark__yv8y4rqb'},defaultClass:'atoms_background_primaryButtonBackground_light__yv8y4rqa atoms_background_primaryButtonBackground_dark__yv8y4rqb'},primaryButtonOutline:{conditions:{light:'atoms_background_primaryButtonOutline_light__yv8y4rqc',dark:'atoms_background_primaryButtonOutline_dark__yv8y4rqd'},defaultClass:'atoms_background_primaryButtonOutline_light__yv8y4rqc atoms_background_primaryButtonOutline_dark__yv8y4rqd'},primaryButtonHoverColor:{conditions:{light:'atoms_background_primaryButtonHoverColor_light__yv8y4rqe',dark:'atoms_background_primaryButtonHoverColor_dark__yv8y4rqf'},defaultClass:'atoms_background_primaryButtonHoverColor_light__yv8y4rqe atoms_background_primaryButtonHoverColor_dark__yv8y4rqf'},primaryButtonHoverBackground:{conditions:{light:'atoms_background_primaryButtonHoverBackground_light__yv8y4rqg',dark:'atoms_background_primaryButtonHoverBackground_dark__yv8y4rqh'},defaultClass:'atoms_background_primaryButtonHoverBackground_light__yv8y4rqg atoms_background_primaryButtonHoverBackground_dark__yv8y4rqh'},primaryButtonHoverOutline:{conditions:{light:'atoms_background_primaryButtonHoverOutline_light__yv8y4rqi',dark:'atoms_background_primaryButtonHoverOutline_dark__yv8y4rqj'},defaultClass:'atoms_background_primaryButtonHoverOutline_light__yv8y4rqi atoms_background_primaryButtonHoverOutline_dark__yv8y4rqj'},primaryButtonActiveColor:{conditions:{light:'atoms_background_primaryButtonActiveColor_light__yv8y4rqk',dark:'atoms_background_primaryButtonActiveColor_dark__yv8y4rql'},defaultClass:'atoms_background_primaryButtonActiveColor_light__yv8y4rqk atoms_background_primaryButtonActiveColor_dark__yv8y4rql'},primaryButtonActiveBackground:{conditions:{light:'atoms_background_primaryButtonActiveBackground_light__yv8y4rqm',dark:'atoms_background_primaryButtonActiveBackground_dark__yv8y4rqn'},defaultClass:'atoms_background_primaryButtonActiveBackground_light__yv8y4rqm atoms_background_primaryButtonActiveBackground_dark__yv8y4rqn'},primaryButtonActiveOutline:{conditions:{light:'atoms_background_primaryButtonActiveOutline_light__yv8y4rqo',dark:'atoms_background_primaryButtonActiveOutline_dark__yv8y4rqp'},defaultClass:'atoms_background_primaryButtonActiveOutline_light__yv8y4rqo atoms_background_primaryButtonActiveOutline_dark__yv8y4rqp'},secondaryButtonColor:{conditions:{light:'atoms_background_secondaryButtonColor_light__yv8y4rqq',dark:'atoms_background_secondaryButtonColor_dark__yv8y4rqr'},defaultClass:'atoms_background_secondaryButtonColor_light__yv8y4rqq atoms_background_secondaryButtonColor_dark__yv8y4rqr'},secondaryButtonBackground:{conditions:{light:'atoms_background_secondaryButtonBackground_light__yv8y4rqs',dark:'atoms_background_secondaryButtonBackground_dark__yv8y4rqt'},defaultClass:'atoms_background_secondaryButtonBackground_light__yv8y4rqs atoms_background_secondaryButtonBackground_dark__yv8y4rqt'},secondaryButtonOutline:{conditions:{light:'atoms_background_secondaryButtonOutline_light__yv8y4rqu',dark:'atoms_background_secondaryButtonOutline_dark__yv8y4rqv'},defaultClass:'atoms_background_secondaryButtonOutline_light__yv8y4rqu atoms_background_secondaryButtonOutline_dark__yv8y4rqv'},secondaryButtonHoverColor:{conditions:{light:'atoms_background_secondaryButtonHoverColor_light__yv8y4rqw',dark:'atoms_background_secondaryButtonHoverColor_dark__yv8y4rqx'},defaultClass:'atoms_background_secondaryButtonHoverColor_light__yv8y4rqw atoms_background_secondaryButtonHoverColor_dark__yv8y4rqx'},secondaryButtonHoverBackground:{conditions:{light:'atoms_background_secondaryButtonHoverBackground_light__yv8y4rqy',dark:'atoms_background_secondaryButtonHoverBackground_dark__yv8y4rqz'},defaultClass:'atoms_background_secondaryButtonHoverBackground_light__yv8y4rqy atoms_background_secondaryButtonHoverBackground_dark__yv8y4rqz'},secondaryButtonHoverOutline:{conditions:{light:'atoms_background_secondaryButtonHoverOutline_light__yv8y4rr0',dark:'atoms_background_secondaryButtonHoverOutline_dark__yv8y4rr1'},defaultClass:'atoms_background_secondaryButtonHoverOutline_light__yv8y4rr0 atoms_background_secondaryButtonHoverOutline_dark__yv8y4rr1'},secondaryButtonActiveColor:{conditions:{light:'atoms_background_secondaryButtonActiveColor_light__yv8y4rr2',dark:'atoms_background_secondaryButtonActiveColor_dark__yv8y4rr3'},defaultClass:'atoms_background_secondaryButtonActiveColor_light__yv8y4rr2 atoms_background_secondaryButtonActiveColor_dark__yv8y4rr3'},secondaryButtonActiveBackground:{conditions:{light:'atoms_background_secondaryButtonActiveBackground_light__yv8y4rr4',dark:'atoms_background_secondaryButtonActiveBackground_dark__yv8y4rr5'},defaultClass:'atoms_background_secondaryButtonActiveBackground_light__yv8y4rr4 atoms_background_secondaryButtonActiveBackground_dark__yv8y4rr5'},secondaryButtonActiveOutline:{conditions:{light:'atoms_background_secondaryButtonActiveOutline_light__yv8y4rr6',dark:'atoms_background_secondaryButtonActiveOutline_dark__yv8y4rr7'},defaultClass:'atoms_background_secondaryButtonActiveOutline_light__yv8y4rr6 atoms_background_secondaryButtonActiveOutline_dark__yv8y4rr7'},disabledButtonColor:{conditions:{light:'atoms_background_disabledButtonColor_light__yv8y4rr8',dark:'atoms_background_disabledButtonColor_dark__yv8y4rr9'},defaultClass:'atoms_background_disabledButtonColor_light__yv8y4rr8 atoms_background_disabledButtonColor_dark__yv8y4rr9'},disabledButtonBackground:{conditions:{light:'atoms_background_disabledButtonBackground_light__yv8y4rra',dark:'atoms_background_disabledButtonBackground_dark__yv8y4rrb'},defaultClass:'atoms_background_disabledButtonBackground_light__yv8y4rra atoms_background_disabledButtonBackground_dark__yv8y4rrb'},disabledButtonOutline:{conditions:{light:'atoms_background_disabledButtonOutline_light__yv8y4rrc',dark:'atoms_background_disabledButtonOutline_dark__yv8y4rrd'},defaultClass:'atoms_background_disabledButtonOutline_light__yv8y4rrc atoms_background_disabledButtonOutline_dark__yv8y4rrd'},disabledButtonHoverColor:{conditions:{light:'atoms_background_disabledButtonHoverColor_light__yv8y4rre',dark:'atoms_background_disabledButtonHoverColor_dark__yv8y4rrf'},defaultClass:'atoms_background_disabledButtonHoverColor_light__yv8y4rre atoms_background_disabledButtonHoverColor_dark__yv8y4rrf'},disabledButtonHoverBackground:{conditions:{light:'atoms_background_disabledButtonHoverBackground_light__yv8y4rrg',dark:'atoms_background_disabledButtonHoverBackground_dark__yv8y4rrh'},defaultClass:'atoms_background_disabledButtonHoverBackground_light__yv8y4rrg atoms_background_disabledButtonHoverBackground_dark__yv8y4rrh'},disabledButtonHoverOutline:{conditions:{light:'atoms_background_disabledButtonHoverOutline_light__yv8y4rri',dark:'atoms_background_disabledButtonHoverOutline_dark__yv8y4rrj'},defaultClass:'atoms_background_disabledButtonHoverOutline_light__yv8y4rri atoms_background_disabledButtonHoverOutline_dark__yv8y4rrj'},disabledButtonActiveColor:{conditions:{light:'atoms_background_disabledButtonActiveColor_light__yv8y4rrk',dark:'atoms_background_disabledButtonActiveColor_dark__yv8y4rrl'},defaultClass:'atoms_background_disabledButtonActiveColor_light__yv8y4rrk atoms_background_disabledButtonActiveColor_dark__yv8y4rrl'},disabledButtonActiveBackground:{conditions:{light:'atoms_background_disabledButtonActiveBackground_light__yv8y4rrm',dark:'atoms_background_disabledButtonActiveBackground_dark__yv8y4rrn'},defaultClass:'atoms_background_disabledButtonActiveBackground_light__yv8y4rrm atoms_background_disabledButtonActiveBackground_dark__yv8y4rrn'},disabledButtonActiveOutline:{conditions:{light:'atoms_background_disabledButtonActiveOutline_light__yv8y4rro',dark:'atoms_background_disabledButtonActiveOutline_dark__yv8y4rrp'},defaultClass:'atoms_background_disabledButtonActiveOutline_light__yv8y4rro atoms_background_disabledButtonActiveOutline_dark__yv8y4rrp'}}},borderColor:{values:{white:{conditions:{light:'atoms_borderColor_white_light__yv8y4rrq',dark:'atoms_borderColor_white_dark__yv8y4rrr'},defaultClass:'atoms_borderColor_white_light__yv8y4rrq atoms_borderColor_white_dark__yv8y4rrr'},black:{conditions:{light:'atoms_borderColor_black_light__yv8y4rrs',dark:'atoms_borderColor_black_dark__yv8y4rrt'},defaultClass:'atoms_borderColor_black_light__yv8y4rrs atoms_borderColor_black_dark__yv8y4rrt'},transparent:{conditions:{light:'atoms_borderColor_transparent_light__yv8y4rru',dark:'atoms_borderColor_transparent_dark__yv8y4rrv'},defaultClass:'atoms_borderColor_transparent_light__yv8y4rru atoms_borderColor_transparent_dark__yv8y4rrv'},primary:{conditions:{light:'atoms_borderColor_primary_light__yv8y4rrw',dark:'atoms_borderColor_primary_dark__yv8y4rrx'},defaultClass:'atoms_borderColor_primary_light__yv8y4rrw atoms_borderColor_primary_dark__yv8y4rrx'},accent:{conditions:{light:'atoms_borderColor_accent_light__yv8y4rry',dark:'atoms_borderColor_accent_dark__yv8y4rrz'},defaultClass:'atoms_borderColor_accent_light__yv8y4rry atoms_borderColor_accent_dark__yv8y4rrz'},disabled:{conditions:{light:'atoms_borderColor_disabled_light__yv8y4rs0',dark:'atoms_borderColor_disabled_dark__yv8y4rs1'},defaultClass:'atoms_borderColor_disabled_light__yv8y4rs0 atoms_borderColor_disabled_dark__yv8y4rs1'},text:{conditions:{light:'atoms_borderColor_text_light__yv8y4rs2',dark:'atoms_borderColor_text_dark__yv8y4rs3'},defaultClass:'atoms_borderColor_text_light__yv8y4rs2 atoms_borderColor_text_dark__yv8y4rs3'},textMuted:{conditions:{light:'atoms_borderColor_textMuted_light__yv8y4rs4',dark:'atoms_borderColor_textMuted_dark__yv8y4rs5'},defaultClass:'atoms_borderColor_textMuted_light__yv8y4rs4 atoms_borderColor_textMuted_dark__yv8y4rs5'},textDanger:{conditions:{light:'atoms_borderColor_textDanger_light__yv8y4rs6',dark:'atoms_borderColor_textDanger_dark__yv8y4rs7'},defaultClass:'atoms_borderColor_textDanger_light__yv8y4rs6 atoms_borderColor_textDanger_dark__yv8y4rs7'},background:{conditions:{light:'atoms_borderColor_background_light__yv8y4rs8',dark:'atoms_borderColor_background_dark__yv8y4rs9'},defaultClass:'atoms_borderColor_background_light__yv8y4rs8 atoms_borderColor_background_dark__yv8y4rs9'},backgroundMuted:{conditions:{light:'atoms_borderColor_backgroundMuted_light__yv8y4rsa',dark:'atoms_borderColor_backgroundMuted_dark__yv8y4rsb'},defaultClass:'atoms_borderColor_backgroundMuted_light__yv8y4rsa atoms_borderColor_backgroundMuted_dark__yv8y4rsb'},tokenSelectBackground:{conditions:{light:'atoms_borderColor_tokenSelectBackground_light__yv8y4rsc',dark:'atoms_borderColor_tokenSelectBackground_dark__yv8y4rsd'},defaultClass:'atoms_borderColor_tokenSelectBackground_light__yv8y4rsc atoms_borderColor_tokenSelectBackground_dark__yv8y4rsd'},tokenSelectHoverBackground:{conditions:{light:'atoms_borderColor_tokenSelectHoverBackground_light__yv8y4rse',dark:'atoms_borderColor_tokenSelectHoverBackground_dark__yv8y4rsf'},defaultClass:'atoms_borderColor_tokenSelectHoverBackground_light__yv8y4rse atoms_borderColor_tokenSelectHoverBackground_dark__yv8y4rsf'},tokenSelect:{conditions:{light:'atoms_borderColor_tokenSelect_light__yv8y4rsg',dark:'atoms_borderColor_tokenSelect_dark__yv8y4rsh'},defaultClass:'atoms_borderColor_tokenSelect_light__yv8y4rsg atoms_borderColor_tokenSelect_dark__yv8y4rsh'},stakeSectionBackground:{conditions:{light:'atoms_borderColor_stakeSectionBackground_light__yv8y4rsi',dark:'atoms_borderColor_stakeSectionBackground_dark__yv8y4rsj'},defaultClass:'atoms_borderColor_stakeSectionBackground_light__yv8y4rsi atoms_borderColor_stakeSectionBackground_dark__yv8y4rsj'},positionsSectionBackgroundColor:{conditions:{light:'atoms_borderColor_positionsSectionBackgroundColor_light__yv8y4rsk',dark:'atoms_borderColor_positionsSectionBackgroundColor_dark__yv8y4rsl'},defaultClass:'atoms_borderColor_positionsSectionBackgroundColor_light__yv8y4rsk atoms_borderColor_positionsSectionBackgroundColor_dark__yv8y4rsl'},positionsSectionBorderColor:{conditions:{light:'atoms_borderColor_positionsSectionBorderColor_light__yv8y4rsm',dark:'atoms_borderColor_positionsSectionBorderColor_dark__yv8y4rsn'},defaultClass:'atoms_borderColor_positionsSectionBorderColor_light__yv8y4rsm atoms_borderColor_positionsSectionBorderColor_dark__yv8y4rsn'},positionsSectionDividerColor:{conditions:{light:'atoms_borderColor_positionsSectionDividerColor_light__yv8y4rso',dark:'atoms_borderColor_positionsSectionDividerColor_dark__yv8y4rsp'},defaultClass:'atoms_borderColor_positionsSectionDividerColor_light__yv8y4rso atoms_borderColor_positionsSectionDividerColor_dark__yv8y4rsp'},modalOverlayBackground:{conditions:{light:'atoms_borderColor_modalOverlayBackground_light__yv8y4rsq',dark:'atoms_borderColor_modalOverlayBackground_dark__yv8y4rsr'},defaultClass:'atoms_borderColor_modalOverlayBackground_light__yv8y4rsq atoms_borderColor_modalOverlayBackground_dark__yv8y4rsr'},modalBodyBackground:{conditions:{light:'atoms_borderColor_modalBodyBackground_light__yv8y4rss',dark:'atoms_borderColor_modalBodyBackground_dark__yv8y4rst'},defaultClass:'atoms_borderColor_modalBodyBackground_light__yv8y4rss atoms_borderColor_modalBodyBackground_dark__yv8y4rst'},primaryButtonColor:{conditions:{light:'atoms_borderColor_primaryButtonColor_light__yv8y4rsu',dark:'atoms_borderColor_primaryButtonColor_dark__yv8y4rsv'},defaultClass:'atoms_borderColor_primaryButtonColor_light__yv8y4rsu atoms_borderColor_primaryButtonColor_dark__yv8y4rsv'},primaryButtonBackground:{conditions:{light:'atoms_borderColor_primaryButtonBackground_light__yv8y4rsw',dark:'atoms_borderColor_primaryButtonBackground_dark__yv8y4rsx'},defaultClass:'atoms_borderColor_primaryButtonBackground_light__yv8y4rsw atoms_borderColor_primaryButtonBackground_dark__yv8y4rsx'},primaryButtonOutline:{conditions:{light:'atoms_borderColor_primaryButtonOutline_light__yv8y4rsy',dark:'atoms_borderColor_primaryButtonOutline_dark__yv8y4rsz'},defaultClass:'atoms_borderColor_primaryButtonOutline_light__yv8y4rsy atoms_borderColor_primaryButtonOutline_dark__yv8y4rsz'},primaryButtonHoverColor:{conditions:{light:'atoms_borderColor_primaryButtonHoverColor_light__yv8y4rt0',dark:'atoms_borderColor_primaryButtonHoverColor_dark__yv8y4rt1'},defaultClass:'atoms_borderColor_primaryButtonHoverColor_light__yv8y4rt0 atoms_borderColor_primaryButtonHoverColor_dark__yv8y4rt1'},primaryButtonHoverBackground:{conditions:{light:'atoms_borderColor_primaryButtonHoverBackground_light__yv8y4rt2',dark:'atoms_borderColor_primaryButtonHoverBackground_dark__yv8y4rt3'},defaultClass:'atoms_borderColor_primaryButtonHoverBackground_light__yv8y4rt2 atoms_borderColor_primaryButtonHoverBackground_dark__yv8y4rt3'},primaryButtonHoverOutline:{conditions:{light:'atoms_borderColor_primaryButtonHoverOutline_light__yv8y4rt4',dark:'atoms_borderColor_primaryButtonHoverOutline_dark__yv8y4rt5'},defaultClass:'atoms_borderColor_primaryButtonHoverOutline_light__yv8y4rt4 atoms_borderColor_primaryButtonHoverOutline_dark__yv8y4rt5'},primaryButtonActiveColor:{conditions:{light:'atoms_borderColor_primaryButtonActiveColor_light__yv8y4rt6',dark:'atoms_borderColor_primaryButtonActiveColor_dark__yv8y4rt7'},defaultClass:'atoms_borderColor_primaryButtonActiveColor_light__yv8y4rt6 atoms_borderColor_primaryButtonActiveColor_dark__yv8y4rt7'},primaryButtonActiveBackground:{conditions:{light:'atoms_borderColor_primaryButtonActiveBackground_light__yv8y4rt8',dark:'atoms_borderColor_primaryButtonActiveBackground_dark__yv8y4rt9'},defaultClass:'atoms_borderColor_primaryButtonActiveBackground_light__yv8y4rt8 atoms_borderColor_primaryButtonActiveBackground_dark__yv8y4rt9'},primaryButtonActiveOutline:{conditions:{light:'atoms_borderColor_primaryButtonActiveOutline_light__yv8y4rta',dark:'atoms_borderColor_primaryButtonActiveOutline_dark__yv8y4rtb'},defaultClass:'atoms_borderColor_primaryButtonActiveOutline_light__yv8y4rta atoms_borderColor_primaryButtonActiveOutline_dark__yv8y4rtb'},secondaryButtonColor:{conditions:{light:'atoms_borderColor_secondaryButtonColor_light__yv8y4rtc',dark:'atoms_borderColor_secondaryButtonColor_dark__yv8y4rtd'},defaultClass:'atoms_borderColor_secondaryButtonColor_light__yv8y4rtc atoms_borderColor_secondaryButtonColor_dark__yv8y4rtd'},secondaryButtonBackground:{conditions:{light:'atoms_borderColor_secondaryButtonBackground_light__yv8y4rte',dark:'atoms_borderColor_secondaryButtonBackground_dark__yv8y4rtf'},defaultClass:'atoms_borderColor_secondaryButtonBackground_light__yv8y4rte atoms_borderColor_secondaryButtonBackground_dark__yv8y4rtf'},secondaryButtonOutline:{conditions:{light:'atoms_borderColor_secondaryButtonOutline_light__yv8y4rtg',dark:'atoms_borderColor_secondaryButtonOutline_dark__yv8y4rth'},defaultClass:'atoms_borderColor_secondaryButtonOutline_light__yv8y4rtg atoms_borderColor_secondaryButtonOutline_dark__yv8y4rth'},secondaryButtonHoverColor:{conditions:{light:'atoms_borderColor_secondaryButtonHoverColor_light__yv8y4rti',dark:'atoms_borderColor_secondaryButtonHoverColor_dark__yv8y4rtj'},defaultClass:'atoms_borderColor_secondaryButtonHoverColor_light__yv8y4rti atoms_borderColor_secondaryButtonHoverColor_dark__yv8y4rtj'},secondaryButtonHoverBackground:{conditions:{light:'atoms_borderColor_secondaryButtonHoverBackground_light__yv8y4rtk',dark:'atoms_borderColor_secondaryButtonHoverBackground_dark__yv8y4rtl'},defaultClass:'atoms_borderColor_secondaryButtonHoverBackground_light__yv8y4rtk atoms_borderColor_secondaryButtonHoverBackground_dark__yv8y4rtl'},secondaryButtonHoverOutline:{conditions:{light:'atoms_borderColor_secondaryButtonHoverOutline_light__yv8y4rtm',dark:'atoms_borderColor_secondaryButtonHoverOutline_dark__yv8y4rtn'},defaultClass:'atoms_borderColor_secondaryButtonHoverOutline_light__yv8y4rtm atoms_borderColor_secondaryButtonHoverOutline_dark__yv8y4rtn'},secondaryButtonActiveColor:{conditions:{light:'atoms_borderColor_secondaryButtonActiveColor_light__yv8y4rto',dark:'atoms_borderColor_secondaryButtonActiveColor_dark__yv8y4rtp'},defaultClass:'atoms_borderColor_secondaryButtonActiveColor_light__yv8y4rto atoms_borderColor_secondaryButtonActiveColor_dark__yv8y4rtp'},secondaryButtonActiveBackground:{conditions:{light:'atoms_borderColor_secondaryButtonActiveBackground_light__yv8y4rtq',dark:'atoms_borderColor_secondaryButtonActiveBackground_dark__yv8y4rtr'},defaultClass:'atoms_borderColor_secondaryButtonActiveBackground_light__yv8y4rtq atoms_borderColor_secondaryButtonActiveBackground_dark__yv8y4rtr'},secondaryButtonActiveOutline:{conditions:{light:'atoms_borderColor_secondaryButtonActiveOutline_light__yv8y4rts',dark:'atoms_borderColor_secondaryButtonActiveOutline_dark__yv8y4rtt'},defaultClass:'atoms_borderColor_secondaryButtonActiveOutline_light__yv8y4rts atoms_borderColor_secondaryButtonActiveOutline_dark__yv8y4rtt'},disabledButtonColor:{conditions:{light:'atoms_borderColor_disabledButtonColor_light__yv8y4rtu',dark:'atoms_borderColor_disabledButtonColor_dark__yv8y4rtv'},defaultClass:'atoms_borderColor_disabledButtonColor_light__yv8y4rtu atoms_borderColor_disabledButtonColor_dark__yv8y4rtv'},disabledButtonBackground:{conditions:{light:'atoms_borderColor_disabledButtonBackground_light__yv8y4rtw',dark:'atoms_borderColor_disabledButtonBackground_dark__yv8y4rtx'},defaultClass:'atoms_borderColor_disabledButtonBackground_light__yv8y4rtw atoms_borderColor_disabledButtonBackground_dark__yv8y4rtx'},disabledButtonOutline:{conditions:{light:'atoms_borderColor_disabledButtonOutline_light__yv8y4rty',dark:'atoms_borderColor_disabledButtonOutline_dark__yv8y4rtz'},defaultClass:'atoms_borderColor_disabledButtonOutline_light__yv8y4rty atoms_borderColor_disabledButtonOutline_dark__yv8y4rtz'},disabledButtonHoverColor:{conditions:{light:'atoms_borderColor_disabledButtonHoverColor_light__yv8y4ru0',dark:'atoms_borderColor_disabledButtonHoverColor_dark__yv8y4ru1'},defaultClass:'atoms_borderColor_disabledButtonHoverColor_light__yv8y4ru0 atoms_borderColor_disabledButtonHoverColor_dark__yv8y4ru1'},disabledButtonHoverBackground:{conditions:{light:'atoms_borderColor_disabledButtonHoverBackground_light__yv8y4ru2',dark:'atoms_borderColor_disabledButtonHoverBackground_dark__yv8y4ru3'},defaultClass:'atoms_borderColor_disabledButtonHoverBackground_light__yv8y4ru2 atoms_borderColor_disabledButtonHoverBackground_dark__yv8y4ru3'},disabledButtonHoverOutline:{conditions:{light:'atoms_borderColor_disabledButtonHoverOutline_light__yv8y4ru4',dark:'atoms_borderColor_disabledButtonHoverOutline_dark__yv8y4ru5'},defaultClass:'atoms_borderColor_disabledButtonHoverOutline_light__yv8y4ru4 atoms_borderColor_disabledButtonHoverOutline_dark__yv8y4ru5'},disabledButtonActiveColor:{conditions:{light:'atoms_borderColor_disabledButtonActiveColor_light__yv8y4ru6',dark:'atoms_borderColor_disabledButtonActiveColor_dark__yv8y4ru7'},defaultClass:'atoms_borderColor_disabledButtonActiveColor_light__yv8y4ru6 atoms_borderColor_disabledButtonActiveColor_dark__yv8y4ru7'},disabledButtonActiveBackground:{conditions:{light:'atoms_borderColor_disabledButtonActiveBackground_light__yv8y4ru8',dark:'atoms_borderColor_disabledButtonActiveBackground_dark__yv8y4ru9'},defaultClass:'atoms_borderColor_disabledButtonActiveBackground_light__yv8y4ru8 atoms_borderColor_disabledButtonActiveBackground_dark__yv8y4ru9'},disabledButtonActiveOutline:{conditions:{light:'atoms_borderColor_disabledButtonActiveOutline_light__yv8y4rua',dark:'atoms_borderColor_disabledButtonActiveOutline_dark__yv8y4rub'},defaultClass:'atoms_borderColor_disabledButtonActiveOutline_light__yv8y4rua atoms_borderColor_disabledButtonActiveOutline_dark__yv8y4rub'}}}}});", "import { MutableRefObject, useRef } from \"react\";\n\nexport const useSavedRef = <T>(value: T): Readonly<MutableRefObject<T>> => {\n const savedRef = useRef<T>(value);\n savedRef.current = value;\n\n return savedRef;\n};\n", "import { useCallback } from \"react\";\nimport { useSKWallet } from \"./use-sk-wallet\";\nimport { useResetApp } from \"./use-reset-app\";\n\nexport const useLogout = () => {\n const { disconnect, isConnected } = useSKWallet();\n const resetApp = useResetApp();\n\n return useCallback(() => {\n if (!isConnected) return;\n\n disconnect();\n resetApp();\n }, [resetApp, disconnect, isConnected]);\n};\n", "import { Chain, Connector, useAccount, useDisconnect, useNetwork } from \"wagmi\";\nimport { useCallback, useMemo } from \"react\";\nimport { Either, EitherAsync, Left, Maybe, Right } from \"purify-ts\";\nimport { fromHex, toBase64 } from \"@cosmjs/encoding\";\nimport { unsignedTransactionCodec } from \"../pages/steps/types\";\nimport {\n SendTransactionError,\n TransactionDecodeError,\n} from \"../pages/steps/errors\";\nimport { sendTransaction as wagmiSendTransaction } from \"@wagmi/core\";\nimport { SignDoc } from \"cosmjs-types/cosmos/tx/v1beta1/tx\";\nimport { decodeSignature } from \"@cosmjs/amino\";\nimport { CosmosWagmiConnector } from \"../providers/cosmos/config\";\nimport { AddressWithTokenDtoAdditionalAddresses } from \"@stakekit/api-hooks\";\nimport { Hash, SKWallet } from \"../domain/types\";\nimport { chains as evmChain } from \"../providers/ethereum/config\";\nimport { chains as cosmosChains } from \"../providers/cosmos/config\";\nimport { CosmosNetworks, EvmNetworks } from \"@stakekit/types\";\nimport { useQuery } from \"@tanstack/react-query\";\n\nexport const useSKWallet = (): SKWallet => {\n const {\n isConnected: _isConnected,\n isConnecting,\n address,\n connector,\n } = useAccount();\n\n const isConnected = _isConnected && !!address && !!connector;\n\n const { chain } = useNetwork();\n\n const network = useMemo(\n () =>\n Maybe.fromNullable(chain)\n .map((val) => wagmiNetworkToSKNetwork(val))\n .extractNullable(),\n [chain]\n );\n\n const { disconnectAsync: disconnect } = useDisconnect();\n\n const { data: additionalAddresses } = useQuery(\n [\"additionalAddresses\", connector?.id, address],\n async () => {\n if (!connector) return Promise.resolve(null);\n\n const res = await getAdditionalAddresses(connector);\n\n return res.caseOf({\n Left: (e) => Promise.reject(e),\n Right: (val) => Promise.resolve(val),\n });\n }\n );\n\n const sendTransaction = useCallback<SKWallet[\"sendTransaction\"]>(\n (tx, index) =>\n EitherAsync.liftEither(\n !isConnected || !network || !connector\n ? Left(new Error(\"No wallet connected\"))\n : Right(connector)\n ).chain((conn) => {\n if (isCosmosConnector(conn)) {\n return getCosmosChainWallet(conn).chain((cw) =>\n EitherAsync(() =>\n cw.client.signDirect!(\n cw.chainId,\n cw.address!,\n SignDoc.decode(fromHex(tx))\n )\n )\n .mapLeft(() => new Error(\"signDirect failed\"))\n .chain((val) =>\n EitherAsync(() =>\n cw.broadcast({\n authInfoBytes: val.signed.authInfoBytes,\n bodyBytes: val.signed.bodyBytes,\n signatures: [decodeSignature(val.signature).signature],\n })\n )\n .mapLeft(() => new Error(\"broadcast failed\"))\n .map((val) => ({ hash: val.transactionHash as Hash }))\n )\n );\n }\n\n return EitherAsync.liftEither(\n Either.encase(() => JSON.parse(tx))\n .chain((val) => unsignedTransactionCodec.decode(val))\n .mapLeft((e) => {\n console.log(e);\n return new TransactionDecodeError();\n })\n )\n .map((val) => {\n console.log({ val: val });\n return val;\n })\n .chain((val) =>\n EitherAsync(() =>\n wagmiSendTransaction({\n ...val,\n nonce: val.nonce + index,\n gas: val.gasLimit,\n mode: \"prepared\",\n })\n )\n .mapLeft((e) => {\n console.log(e);\n return new SendTransactionError();\n })\n .map((val) => ({ hash: val.hash as Hash }))\n );\n }),\n [network, connector, isConnected]\n );\n\n const value = useMemo((): SKWallet => {\n const common = { disconnect, sendTransaction };\n\n if (isConnected && address && network) {\n return {\n ...common,\n network,\n address,\n chain,\n isConnected: true,\n isConnecting: false,\n additionalAddresses: additionalAddresses ?? null,\n };\n }\n\n return {\n ...common,\n network: null,\n address: null,\n chain: null,\n isConnected: false,\n isConnecting,\n additionalAddresses: null,\n };\n }, [\n disconnect,\n sendTransaction,\n isConnected,\n address,\n network,\n isConnecting,\n chain,\n additionalAddresses,\n ]);\n\n return value;\n};\n\nconst isCosmosConnector = (\n connector: Connector\n): connector is CosmosWagmiConnector =>\n !!(connector as CosmosWagmiConnector).chainWallet;\n\nconst getAdditionalAddresses = (\n connector: Connector\n): EitherAsync<Error, AddressWithTokenDtoAdditionalAddresses | null> => {\n if (isCosmosConnector(connector)) {\n return getCosmosPubKey(connector).map(\n (pubKey): AddressWithTokenDtoAdditionalAddresses => ({\n cosmosPubKey: pubKey,\n })\n );\n }\n\n return EitherAsync.liftEither(Right(null));\n};\n\nconst getCosmosPubKey = (connector: Connector) =>\n getCosmosChainWallet(connector).chain((val) =>\n EitherAsync(() => val.client.getAccount!(val.chainId))\n .mapLeft(() => new Error(\"missing account\"))\n .map((account) => toBase64(account.pubkey))\n );\n\nconst getCosmosChainWallet = (connector: Connector | undefined) =>\n EitherAsync.liftEither(\n !connector\n ? Left(new Error(\"no connector\"))\n : !isCosmosConnector(connector)\n ? Left(new Error(\"not a cosmos connector\"))\n : Right(connector)\n ).chain((conn) =>\n EitherAsync(() => conn.chainWallet).mapLeft(\n () => new Error(\"could not get chain wallet\")\n )\n );\n\nconst wagmiNetworkToSKNetwork = (chain: Chain): SKWallet[\"network\"] => {\n const asEvmNetwork = chain.network as (typeof evmChain)[number][\"network\"];\n\n if (asEvmNetwork === \"arbitrum\") return EvmNetworks.Arbitrum;\n if (asEvmNetwork === \"avalanche\") return EvmNetworks.AvalancheC;\n if (asEvmNetwork === \"celo\") return EvmNetworks.Celo;\n if (asEvmNetwork === \"harmony\") return EvmNetworks.Harmony;\n if (asEvmNetwork === \"homestead\") return EvmNetworks.Ethereum;\n if (asEvmNetwork === \"matic\") return EvmNetworks.Polygon;\n if (asEvmNetwork === \"optimism\") return EvmNetworks.Optimism;\n\n const asCosmosNetwork =\n chain.name.toLowerCase() as (typeof cosmosChains)[number][\"chain_id\"];\n\n if (asCosmosNetwork.startsWith(\"akash\")) return CosmosNetworks.Akash;\n if (asCosmosNetwork.startsWith(\"cosmos\")) return CosmosNetworks.Cosmos;\n if (asCosmosNetwork.startsWith(\"juno\")) return CosmosNetworks.Juno;\n if (asCosmosNetwork.startsWith(\"kava\")) return CosmosNetworks.Kava;\n if (asCosmosNetwork.startsWith(\"osmosis\")) return CosmosNetworks.Osmosis;\n if (asCosmosNetwork.startsWith(\"persistence\"))\n return CosmosNetworks.Persistence;\n if (asCosmosNetwork.startsWith(\"stargaze\")) return CosmosNetworks.Stargaze;\n\n return null;\n};\n", "import {\n Codec,\n GetType,\n Left,\n Right,\n number,\n optional,\n string,\n} from \"purify-ts\";\nimport { Hex } from \"viem\";\n\nconst bigintCodec = Codec.custom<bigint>({\n decode: (input) => {\n if (typeof input !== \"string\" && typeof input !== \"number\") {\n return Left(\"Invalid value type\");\n }\n\n const val = BigInt(input);\n\n return Right(val);\n },\n encode: (input) => input.toString(),\n});\n\nconst hexStringCodec = Codec.custom<Hex>({\n decode: (input) =>\n typeof input === \"string\" && input.startsWith(\"0x\")\n ? Right(input as Hex)\n : Left(\"Invalid hex string\"),\n encode: (input) => input,\n});\n\nexport const unsignedTransactionCodec = Codec.interface({\n data: hexStringCodec,\n to: string,\n gasLimit: bigintCodec,\n from: string,\n value: optional(bigintCodec),\n nonce: number,\n type: number,\n maxFeePerGas: optional(bigintCodec),\n maxPriorityFeePerGas: optional(bigintCodec),\n chainId: number,\n});\n\nexport type UnsignedTransaction = GetType<typeof unsignedTransactionCodec>;\n", "export class SendTransactionError extends Error {\n name = \"SendTransactionError\";\n}\nexport class SubmitError extends Error {\n name = \"SubmitError\";\n}\nexport class GetStakeSessionError extends Error {\n name = \"GetStakeSessionError\";\n}\nexport class TransactionConstructError extends Error {\n name = \"TransactionConstructError\";\n}\nexport class MissingHashError extends Error {\n name = \"MissingHashError\";\n}\nexport class TransactionDecodeError extends Error {\n name = \"TransactionDecodeError\";\n}\n", "var __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nvar __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, \"write to private field\");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar __privateMethod = (obj, member, method) => {\n __accessCheck(obj, member, \"access private method\");\n return method;\n};\n\n// src/base.ts\nimport { default as EventEmitter } from \"eventemitter3\";\nimport { goerli, mainnet } from \"viem/chains\";\nvar Connector = class extends EventEmitter {\n constructor({\n chains = [mainnet, goerli],\n options\n }) {\n super();\n __publicField(this, \"chains\");\n __publicField(this, \"options\");\n __publicField(this, \"storage\");\n this.chains = chains;\n this.options = options;\n }\n getBlockExplorerUrls(chain) {\n const { default: blockExplorer, ...blockExplorers } = chain.blockExplorers ?? {};\n if (blockExplorer)\n return [\n blockExplorer.url,\n ...Object.values(blockExplorers).map((x) => x.url)\n ];\n }\n isChainUnsupported(chainId) {\n return !this.chains.some((x) => x.id === chainId);\n }\n setStorage(storage) {\n this.storage = storage;\n }\n};\n\nexport {\n __publicField,\n __privateGet,\n __privateAdd,\n __privateSet,\n __privateMethod,\n Connector\n};\n", "import {\n __publicField\n} from \"./chunk-QYMCVNHT.js\";\n\n// src/errors.ts\nvar ChainNotConfiguredForConnectorError = class extends Error {\n constructor({\n chainId,\n connectorId\n }) {\n super(`Chain \"${chainId}\" not configured for connector \"${connectorId}\".`);\n __publicField(this, \"name\", \"ChainNotConfiguredForConnectorError\");\n }\n};\nvar ConnectorNotFoundError = class extends Error {\n constructor() {\n super(...arguments);\n __publicField(this, \"name\", \"ConnectorNotFoundError\");\n __publicField(this, \"message\", \"Connector not found\");\n }\n};\n\nexport {\n ChainNotConfiguredForConnectorError,\n ConnectorNotFoundError\n};\n", "// src/utils/normalizeChainId.ts\nfunction normalizeChainId(chainId) {\n if (typeof chainId === \"string\")\n return Number.parseInt(\n chainId,\n chainId.trim().substring(0, 2) === \"0x\" ? 16 : 10\n );\n if (typeof chainId === \"bigint\")\n return Number(chainId);\n return chainId;\n}\n\nexport {\n normalizeChainId\n};\n", "import {\n ChainNotConfiguredForConnectorError,\n ConnectorNotFoundError\n} from \"./chunk-ZCAPXGBX.js\";\nimport {\n normalizeChainId\n} from \"./chunk-OQILYQDO.js\";\nimport {\n Connector,\n __privateAdd,\n __privateGet,\n __privateSet,\n __publicField\n} from \"./chunk-QYMCVNHT.js\";\n\n// src/injected.ts\nimport {\n ResourceUnavailableRpcError,\n SwitchChainError,\n UserRejectedRequestError,\n createWalletClient,\n custom,\n getAddress,\n numberToHex\n} from \"viem\";\n\n// src/utils/getInjectedName.ts\nfunction getInjectedName(ethereum) {\n if (!ethereum)\n return \"Injected\";\n const getName = (provider) => {\n if (provider.isApexWallet)\n return \"Apex Wallet\";\n if (provider.isAvalanche)\n return \"Core Wallet\";\n if (provider.isBackpack)\n return \"Backpack\";\n if (provider.isBifrost)\n return \"Bifrost Wallet\";\n if (provider.isBitKeep)\n return \"BitKeep\";\n if (provider.isBitski)\n return \"Bitski\";\n if (provider.isBlockWallet)\n return \"BlockWallet\";\n if (provider.isBraveWallet)\n return \"Brave Wallet\";\n if (provider.isCoinbaseWallet)\n return \"Coinbase Wallet\";\n if (provider.isDawn)\n return \"Dawn Wallet\";\n if (provider.isDefiant)\n return \"Defiant\";\n if (provider.isEnkrypt)\n return \"Enkrypt\";\n if (provider.isExodus)\n return \"Exodus\";\n if (provider.isFrame)\n return \"Frame\";\n if (provider.isFrontier)\n return \"Frontier Wallet\";\n if (provider.isGamestop)\n return \"GameStop Wallet\";\n if (provider.isHaqqWallet)\n return \"HAQQ Wallet\";\n if (provider.isHyperPay)\n return \"HyperPay Wallet\";\n if (provider.isImToken)\n return \"ImToken\";\n if (provider.isHaloWallet)\n return \"Halo Wallet\";\n if (provider.isKuCoinWallet)\n return \"KuCoin Wallet\";\n if (provider.isMathWallet)\n return \"MathWallet\";\n if (provider.isNovaWallet)\n return \"Nova Wallet\";\n if (provider.isOkxWallet || provider.isOKExWallet)\n return \"OKX Wallet\";\n if (provider.isOneInchIOSWallet || provider.isOneInchAndroidWallet)\n return \"1inch Wallet\";\n if (provider.isOpera)\n return \"Opera\";\n if (provider.isPhantom)\n return \"Phantom\";\n if (provider.isPortal)\n return \"Ripio Portal\";\n if (provider.isRabby)\n return \"Rabby Wallet\";\n if (provider.isRainbow)\n return \"Rainbow\";\n if (provider.isStatus)\n return \"Status\";\n if (provider.isTalisman)\n return \"Talisman\";\n if (provider.isTally)\n return \"Taho\";\n if (provider.isTokenPocket)\n return \"TokenPocket\";\n if (provider.isTokenary)\n return \"Tokenary\";\n if (provider.isTrust || provider.isTrustWallet)\n return \"Trust Wallet\";\n if (provider.isTTWallet)\n return \"TTWallet\";\n if (provider.isXDEFI)\n return \"XDEFI Wallet\";\n if (provider.isZerion)\n return \"Zerion\";\n if (provider.isMetaMask)\n return \"MetaMask\";\n };\n if (ethereum.providers?.length) {\n const nameSet = /* @__PURE__ */ new Set();\n let unknownCount = 1;\n for (const provider of ethereum.providers) {\n let name = getName(provider);\n if (!name) {\n name = `Unknown Wallet #${unknownCount}`;\n unknownCount += 1;\n }\n nameSet.add(name);\n }\n const names = [...nameSet];\n if (names.length)\n return names;\n return names[0] ?? \"Injected\";\n }\n return getName(ethereum) ?? \"Injected\";\n}\n\n// src/injected.ts\nvar _provider;\nvar InjectedConnector = class extends Connector {\n constructor({\n chains,\n options: options_\n } = {}) {\n const options = {\n shimDisconnect: true,\n getProvider() {\n if (typeof window === \"undefined\")\n return;\n const ethereum = window.ethereum;\n if (ethereum?.providers)\n return ethereum.providers[0];\n return ethereum;\n },\n ...options_\n };\n super({ chains, options });\n __publicField(this, \"id\", \"injected\");\n __publicField(this, \"name\");\n __publicField(this, \"ready\");\n __privateAdd(this, _provider, void 0);\n __publicField(this, \"shimDisconnectKey\", `${this.id}.shimDisconnect`);\n __publicField(this, \"onAccountsChanged\", (accounts) => {\n if (accounts.length === 0)\n this.emit(\"disconnect\");\n else\n this.emit(\"change\", {\n account: getAddress(accounts[0])\n });\n });\n __publicField(this, \"onChainChanged\", (chainId) => {\n const id = normalizeChainId(chainId);\n const unsupported = this.isChainUnsupported(id);\n this.emit(\"change\", { chain: { id, unsupported } });\n });\n __publicField(this, \"onDisconnect\", async (error) => {\n if (error.code === 1013) {\n const provider = await this.getProvider();\n if (provider) {\n const isAuthorized = await this.getAccount();\n if (isAuthorized)\n return;\n }\n }\n this.emit(\"disconnect\");\n if (this.options.shimDisconnect)\n this.storage?.removeItem(this.shimDisconnectKey);\n });\n const provider = options.getProvider();\n if (typeof options.name === \"string\")\n this.name = options.name;\n else if (provider) {\n const detectedName = getInjectedName(provider);\n if (options.name)\n this.name = options.name(detectedName);\n else {\n if (typeof detectedName === \"string\")\n this.name = detectedName;\n else\n this.name = detectedName[0];\n }\n } else\n this.name = \"Injected\";\n this.ready = !!provider;\n }\n async connect({ chainId } = {}) {\n try {\n const provider = await this.getProvider();\n if (!provider)\n throw new ConnectorNotFoundError();\n if (provider.on) {\n provider.on(\"accountsChanged\", this.onAccountsChanged);\n provider.on(\"chainChanged\", this.onChainChanged);\n provider.on(\"disconnect\", this.onDisconnect);\n }\n this.emit(\"message\", { type: \"connecting\" });\n const accounts = await provider.request({\n method: \"eth_requestAccounts\"\n });\n const account = getAddress(accounts[0]);\n let id = await this.getChainId();\n let unsupported = this.isChainUnsupported(id);\n if (chainId && id !== chainId) {\n const chain = await this.switchChain(chainId);\n id = chain.id;\n unsupported = this.isChainUnsupported(id);\n }\n if (this.options.shimDisconnect)\n this.storage?.setItem(this.shimDisconnectKey, true);\n return { account, chain: { id, unsupported } };\n } catch (error) {\n if (this.isUserRejectedRequestError(error))\n throw new UserRejectedRequestError(error);\n if (error.code === -32002)\n throw new ResourceUnavailableRpcError(error);\n throw error;\n }\n }\n async disconnect() {\n const provider = await this.getProvider();\n if (!provider?.removeListener)\n return;\n provider.removeListener(\"accountsChanged\", this.onAccountsChanged);\n provider.removeListener(\"chainChanged\", this.onChainChanged);\n provider.removeListener(\"disconnect\", this.onDisconnect);\n if (this.options.shimDisconnect)\n this.storage?.removeItem(this.shimDisconnectKey);\n }\n async getAccount() {\n const provider = await this.getProvider();\n if (!provider)\n throw new ConnectorNotFoundError();\n const accounts = await provider.request({\n method: \"eth_accounts\"\n });\n return getAddress(accounts[0]);\n }\n async getChainId() {\n const provider = await this.getProvider();\n if (!provider)\n throw new ConnectorNotFoundError();\n return provider.request({ method: \"eth_chainId\" }).then(normalizeChainId);\n }\n async getProvider() {\n const provider = this.options.getProvider();\n if (provider)\n __privateSet(this, _provider, provider);\n return __privateGet(this, _provider);\n }\n async getWalletClient({\n chainId\n } = {}) {\n const [provider, account] = await Promise.all([\n this.getProvider(),\n this.getAccount()\n ]);\n const chain = this.chains.find((x) => x.id === chainId);\n if (!provider)\n throw new Error(\"provider is required.\");\n return createWalletClient({\n account,\n chain,\n transport: custom(provider)\n });\n }\n async isAuthorized() {\n try {\n if (this.options.shimDisconnect && !this.storage?.getItem(this.shimDisconnectKey))\n return false;\n const provider = await this.getProvider();\n if (!provider)\n throw new ConnectorNotFoundError();\n const account = await this.getAccount();\n return !!account;\n } catch {\n return false;\n }\n }\n async switchChain(chainId) {\n const provider = await this.getProvider();\n if (!provider)\n throw new ConnectorNotFoundError();\n const id = numberToHex(chainId);\n try {\n await Promise.all([\n provider.request({\n method: \"wallet_switchEthereumChain\",\n params: [{ chainId: id }]\n }),\n new Promise(\n (res) => this.on(\"change\", ({ chain }) => {\n if (chain?.id === chainId)\n res();\n })\n )\n ]);\n return this.chains.find((x) => x.id === chainId) ?? {\n id: chainId,\n name: `Chain ${id}`,\n network: `${id}`,\n nativeCurrency: { name: \"Ether\", decimals: 18, symbol: \"ETH\" },\n rpcUrls: { default: { http: [\"\"] }, public: { http: [\"\"] } }\n };\n } catch (error) {\n const chain = this.chains.find((x) => x.id === chainId);\n if (!chain)\n throw new ChainNotConfiguredForConnectorError({\n chainId,\n connectorId: this.id\n });\n if (error.code === 4902 || error?.data?.originalError?.code === 4902) {\n try {\n await provider.request({\n method: \"wallet_addEthereumChain\",\n params: [\n {\n chainId: id,\n chainName: chain.name,\n nativeCurrency: chain.nativeCurrency,\n rpcUrls: [chain.rpcUrls.public?.http[0] ?? \"\"],\n blockExplorerUrls: this.getBlockExplorerUrls(chain)\n }\n ]\n });\n const currentChainId = await this.getChainId();\n if (currentChainId !== chainId)\n throw new UserRejectedRequestError(\n new Error(\"User rejected switch after adding network.\")\n );\n return chain;\n } catch (error2) {\n throw new UserRejectedRequestError(error2);\n }\n }\n if (this.isUserRejectedRequestError(error))\n throw new UserRejectedRequestError(error);\n throw new SwitchChainError(error);\n }\n }\n async watchAsset({\n address,\n decimals = 18,\n image,\n symbol\n }) {\n const provider = await this.getProvider();\n if (!provider)\n throw new ConnectorNotFoundError();\n return provider.request({\n method: \"wallet_watchAsset\",\n params: {\n type: \"ERC20\",\n options: {\n address,\n decimals,\n image,\n symbol\n }\n }\n });\n }\n isUserRejectedRequestError(error) {\n return error.code === 4001;\n }\n};\n_provider = new WeakMap();\n\nexport {\n InjectedConnector\n};\n", "import {\n InjectedConnector\n} from \"./chunk-BVC4KGLQ.js\";\nimport {\n __privateAdd,\n __privateGet,\n __privateMethod,\n __privateSet\n} from \"./chunk-MQXBDTVK.js\";\n\n// src/utils/configureChains.ts\nimport { createPublicClient, fallback, http, webSocket } from \"viem\";\nfunction configureChains(defaultChains, providers, {\n batch = { multicall: { wait: 32 } },\n pollingInterval = 4e3,\n rank,\n retryCount,\n retryDelay,\n stallTimeout\n} = {}) {\n if (!defaultChains.length)\n throw new Error(\"must have at least one chain\");\n let chains = [];\n const httpUrls = {};\n const wsUrls = {};\n for (const chain of defaultChains) {\n let configExists = false;\n for (const provider of providers) {\n const apiConfig = provider(chain);\n if (!apiConfig)\n continue;\n configExists = true;\n if (!chains.some(({ id }) => id === chain.id)) {\n chains = [...chains, apiConfig.chain];\n }\n httpUrls[chain.id] = [\n ...httpUrls[chain.id] || [],\n ...apiConfig.rpcUrls.http\n ];\n if (apiConfig.rpcUrls.webSocket) {\n wsUrls[chain.id] = [\n ...wsUrls[chain.id] || [],\n ...apiConfig.rpcUrls.webSocket\n ];\n }\n }\n if (!configExists) {\n throw new Error(\n [\n `Could not find valid provider configuration for chain \"${chain.name}\".\n`,\n \"You may need to add `jsonRpcProvider` to `configureChains` with the chain's RPC URLs.\",\n \"Read more: https://wagmi.sh/core/providers/jsonRpc\"\n ].join(\"\\n\")\n );\n }\n }\n return {\n chains,\n publicClient: ({ chainId }) => {\n const activeChain = chains.find((x) => x.id === chainId) ?? defaultChains[0];\n const chainHttpUrls = httpUrls[activeChain.id];\n if (!chainHttpUrls || !chainHttpUrls[0])\n throw new Error(`No providers configured for chain \"${activeChain.id}\"`);\n const publicClient = createPublicClient({\n batch,\n chain: activeChain,\n transport: fallback(\n chainHttpUrls.map((url) => http(url, { timeout: stallTimeout })),\n { rank, retryCount, retryDelay }\n ),\n pollingInterval\n });\n return Object.assign(publicClient, {\n chains\n });\n },\n webSocketPublicClient: ({ chainId }) => {\n const activeChain = chains.find((x) => x.id === chainId) ?? defaultChains[0];\n const chainWsUrls = wsUrls[activeChain.id];\n if (!chainWsUrls || !chainWsUrls[0])\n return void 0;\n const publicClient = createPublicClient({\n batch,\n chain: activeChain,\n transport: fallback(\n chainWsUrls.map((url) => webSocket(url, { timeout: stallTimeout })),\n { rank, retryCount, retryDelay }\n ),\n pollingInterval\n });\n return Object.assign(publicClient, {\n chains\n });\n }\n };\n}\n\n// src/errors.ts\nimport { ConnectorNotFoundError } from \"@wagmi/connectors\";\nvar ChainMismatchError = class extends Error {\n constructor({\n activeChain,\n targetChain\n }) {\n super(\n `Chain mismatch: Expected \"${targetChain}\", received \"${activeChain}\".`\n );\n this.name = \"ChainMismatchError\";\n }\n};\nvar ChainNotConfiguredError = class extends Error {\n constructor({\n chainId,\n connectorId\n }) {\n super(\n `Chain \"${chainId}\" not configured${connectorId ? ` for connector \"${connectorId}\"` : \"\"}.`\n );\n this.name = \"ChainNotConfigured\";\n }\n};\nvar ConnectorAlreadyConnectedError = class extends Error {\n constructor() {\n super(...arguments);\n this.name = \"ConnectorAlreadyConnectedError\";\n this.message = \"Connector already connected\";\n }\n};\nvar ConfigChainsNotFound = class extends Error {\n constructor() {\n super(...arguments);\n this.name = \"ConfigChainsNotFound\";\n this.message = \"No chains were found on the wagmi config. Some functions that require a chain may not work.\";\n }\n};\nvar SwitchChainNotSupportedError = class extends Error {\n constructor({ connector }) {\n super(`\"${connector.name}\" does not support programmatic chain switching.`);\n this.name = \"SwitchChainNotSupportedError\";\n }\n};\n\n// src/utils/deepEqual.ts\nfunction deepEqual(a, b) {\n if (a === b)\n return true;\n if (a && b && typeof a === \"object\" && typeof b === \"object\") {\n if (a.constructor !== b.constructor)\n return false;\n let length;\n let i;\n if (Array.isArray(a) && Array.isArray(b)) {\n length = a.length;\n if (length != b.length)\n return false;\n for (i = length; i-- !== 0; )\n if (!deepEqual(a[i], b[i]))\n return false;\n return true;\n }\n if (a.valueOf !== Object.prototype.valueOf)\n return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString)\n return a.toString() === b.toString();\n const keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length)\n return false;\n for (i = length; i-- !== 0; )\n if (!Object.prototype.hasOwnProperty.call(b, keys[i]))\n return false;\n for (i = length; i-- !== 0; ) {\n const key = keys[i];\n if (key && !deepEqual(a[key], b[key]))\n return false;\n }\n return true;\n }\n return a !== a && b !== b;\n}\n\n// src/utils/deserialize.ts\nvar findAndReplace = (cacheRef, {\n find,\n replace\n}) => {\n if (cacheRef && find(cacheRef)) {\n return replace(cacheRef);\n }\n if (typeof cacheRef !== \"object\") {\n return cacheRef;\n }\n if (Array.isArray(cacheRef)) {\n return cacheRef.map((item) => findAndReplace(item, { find, replace }));\n }\n if (cacheRef instanceof Object) {\n return Object.entries(cacheRef).reduce(\n (curr, [key, value]) => ({\n ...curr,\n [key]: findAndReplace(value, { find, replace })\n }),\n {}\n );\n }\n return cacheRef;\n};\nfunction deserialize(cachedString) {\n const cache = JSON.parse(cachedString);\n const deserializedCacheWithBigInts = findAndReplace(cache, {\n find: (data) => typeof data === \"string\" && data.startsWith(\"#bigint.\"),\n replace: (data) => BigInt(data.replace(\"#bigint.\", \"\"))\n });\n return deserializedCacheWithBigInts;\n}\n\n// src/utils/getParameters.ts\nfunction getCallParameters(args) {\n return {\n accessList: args.accessList,\n account: args.account,\n blockNumber: args.blockNumber,\n blockTag: args.blockTag,\n data: args.data,\n gas: args.gas,\n gasPrice: args.gasPrice,\n maxFeePerGas: args.maxFeePerGas,\n maxPriorityFeePerGas: args.maxPriorityFeePerGas,\n nonce: args.nonce,\n to: args.to,\n value: args.value\n };\n}\nfunction getSendTransactionParameters(args) {\n return {\n accessList: args.accessList,\n account: args.account,\n data: args.data,\n gas: args.gas,\n gasPrice: args.gasPrice,\n maxFeePerGas: args.maxFeePerGas,\n maxPriorityFeePerGas: args.maxPriorityFeePerGas,\n nonce: args.nonce,\n to: args.to,\n value: args.value\n };\n}\n\n// src/utils/getUnit.ts\nimport { weiUnits } from \"viem\";\nfunction getUnit(unit) {\n if (typeof unit === \"number\")\n return unit;\n if (unit === \"wei\")\n return 0;\n return Math.abs(weiUnits[unit]);\n}\n\n// src/utils/serialize.ts\nfunction getReferenceKey(keys, cutoff) {\n return keys.slice(0, cutoff).join(\".\") || \".\";\n}\nfunction getCutoff(array, value) {\n const { length } = array;\n for (let index = 0; index < length; ++index) {\n if (array[index] === value) {\n return index + 1;\n }\n }\n return 0;\n}\nfunction createReplacer(replacer, circularReplacer) {\n const hasReplacer = typeof replacer === \"function\";\n const hasCircularReplacer = typeof circularReplacer === \"function\";\n const cache = [];\n const keys = [];\n return function replace(key, value) {\n if (typeof value === \"object\") {\n if (cache.length) {\n const thisCutoff = getCutoff(cache, this);\n if (thisCutoff === 0) {\n cache[cache.length] = this;\n } else {\n cache.splice(thisCutoff);\n keys.splice(thisCutoff);\n }\n keys[keys.length] = key;\n const valueCutoff = getCutoff(cache, value);\n if (valueCutoff !== 0) {\n return hasCircularReplacer ? circularReplacer.call(\n this,\n key,\n value,\n getReferenceKey(keys, valueCutoff)\n ) : `[ref=${getReferenceKey(keys, valueCutoff)}]`;\n }\n } else {\n cache[0] = value;\n keys[0] = key;\n }\n }\n return hasReplacer ? replacer.call(this, key, value) : value;\n };\n}\nfunction serialize(value, replacer, indent, circularReplacer) {\n return JSON.stringify(\n value,\n createReplacer((key, value_) => {\n const value2 = typeof value_ === \"bigint\" ? `#bigint.${value_.toString()}` : value_;\n return replacer?.(key, value2) || value2;\n }, circularReplacer),\n indent ?? void 0\n );\n}\n\n// src/config.ts\nimport { persist, subscribeWithSelector } from \"zustand/middleware\";\nimport { createStore } from \"zustand/vanilla\";\n\n// src/storage.ts\nvar noopStorage = {\n getItem: (_key) => \"\",\n setItem: (_key, _value) => null,\n removeItem: (_key) => null\n};\nfunction createStorage({\n deserialize: deserialize2 = deserialize,\n key: prefix = \"wagmi\",\n serialize: serialize2 = serialize,\n storage\n}) {\n return {\n ...storage,\n getItem: (key, defaultState = null) => {\n const value = storage.getItem(`${prefix}.${key}`);\n try {\n return value ? deserialize2(value) : defaultState;\n } catch (error) {\n console.warn(error);\n return defaultState;\n }\n },\n setItem: (key, value) => {\n if (value === null) {\n storage.removeItem(`${prefix}.${key}`);\n } else {\n try {\n storage.setItem(`${prefix}.${key}`, serialize2(value));\n } catch (err) {\n console.error(err);\n }\n }\n },\n removeItem: (key) => storage.removeItem(`${prefix}.${key}`)\n };\n}\n\n// src/config.ts\nvar storeKey = \"store\";\nvar _isAutoConnecting, _lastUsedConnector, _addEffects, addEffects_fn;\nvar Config = class {\n constructor({\n autoConnect = false,\n connectors = [new InjectedConnector()],\n publicClient,\n storage = createStorage({\n storage: typeof window !== \"undefined\" ? window.localStorage : noopStorage\n }),\n logger = {\n warn: console.warn\n },\n webSocketPublicClient\n }) {\n __privateAdd(this, _addEffects);\n this.publicClients = /* @__PURE__ */ new Map();\n this.webSocketPublicClients = /* @__PURE__ */ new Map();\n __privateAdd(this, _isAutoConnecting, void 0);\n __privateAdd(this, _lastUsedConnector, void 0);\n this.args = {\n autoConnect,\n connectors,\n logger,\n publicClient,\n storage,\n webSocketPublicClient\n };\n let status = \"disconnected\";\n let chainId;\n if (autoConnect) {\n try {\n const rawState = storage.getItem(storeKey);\n const data = rawState?.state?.data;\n status = data?.account ? \"reconnecting\" : \"connecting\";\n chainId = data?.chain?.id;\n } catch (_error) {\n }\n }\n const connectors_ = typeof connectors === \"function\" ? connectors() : connectors;\n connectors_.forEach((connector) => connector.setStorage(storage));\n this.store = createStore(\n subscribeWithSelector(\n persist(\n () => ({\n connectors: connectors_,\n publicClient: this.getPublicClient({ chainId }),\n status,\n webSocketPublicClient: this.getWebSocketPublicClient({ chainId })\n }),\n {\n name: storeKey,\n storage,\n partialize: (state) => ({\n ...autoConnect && {\n data: {\n account: state?.data?.account,\n chain: state?.data?.chain\n }\n },\n chains: state?.chains\n }),\n version: 2\n }\n )\n )\n );\n this.storage = storage;\n __privateSet(this, _lastUsedConnector, storage?.getItem(\"wallet\"));\n __privateMethod(this, _addEffects, addEffects_fn).call(this);\n if (autoConnect && typeof window !== \"undefined\")\n setTimeout(async () => await this.autoConnect(), 0);\n }\n get chains() {\n return this.store.getState().chains;\n }\n get connectors() {\n return this.store.getState().connectors;\n }\n get connector() {\n return this.store.getState().connector;\n }\n get data() {\n return this.store.getState().data;\n }\n get error() {\n return this.store.getState().error;\n }\n get lastUsedChainId() {\n return this.data?.chain?.id;\n }\n get publicClient() {\n return this.store.getState().publicClient;\n }\n get status() {\n return this.store.getState().status;\n }\n get subscribe() {\n return this.store.subscribe;\n }\n get webSocketPublicClient() {\n return this.store.getState().webSocketPublicClient;\n }\n setState(updater) {\n const newState = typeof updater === \"function\" ? updater(this.store.getState()) : updater;\n this.store.setState(newState, true);\n }\n clearState() {\n this.setState((x) => ({\n ...x,\n chains: void 0,\n connector: void 0,\n data: void 0,\n error: void 0,\n status: \"disconnected\"\n }));\n }\n async destroy() {\n if (this.connector)\n await this.connector.disconnect?.();\n __privateSet(this, _isAutoConnecting, false);\n this.clearState();\n this.store.destroy();\n }\n async autoConnect() {\n if (__privateGet(this, _isAutoConnecting))\n return;\n __privateSet(this, _isAutoConnecting, true);\n this.setState((x) => ({\n ...x,\n status: x.data?.account ? \"reconnecting\" : \"connecting\"\n }));\n const sorted = __privateGet(this, _lastUsedConnector) ? [...this.connectors].sort(\n (x) => x.id === __privateGet(this, _lastUsedConnector) ? -1 : 1\n ) : this.connectors;\n let connected = false;\n for (const connector of sorted) {\n if (!connector.ready || !connector.isAuthorized)\n continue;\n const isAuthorized = await connector.isAuthorized();\n if (!isAuthorized)\n continue;\n const data = await connector.connect();\n this.setState((x) => ({\n ...x,\n connector,\n chains: connector?.chains,\n data,\n status: \"connected\"\n }));\n connected = true;\n break;\n }\n if (!connected)\n this.setState((x) => ({\n ...x,\n data: void 0,\n status: \"disconnected\"\n }));\n __privateSet(this, _isAutoConnecting, false);\n return this.data;\n }\n setConnectors(connectors) {\n this.args = {\n ...this.args,\n connectors\n };\n const connectors_ = typeof connectors === \"function\" ? connectors() : connectors;\n connectors_.forEach((connector) => connector.setStorage(this.args.storage));\n this.setState((x) => ({\n ...x,\n connectors: connectors_\n }));\n }\n getPublicClient({ chainId } = {}) {\n let publicClient_ = this.publicClients.get(-1);\n if (publicClient_ && publicClient_?.chain.id === chainId)\n return publicClient_;\n publicClient_ = this.publicClients.get(chainId ?? -1);\n if (publicClient_)\n return publicClient_;\n const { publicClient } = this.args;\n publicClient_ = typeof publicClient === \"function\" ? publicClient({ chainId }) : publicClient;\n this.publicClients.set(chainId ?? -1, publicClient_);\n return publicClient_;\n }\n setPublicClient(publicClient) {\n const chainId = this.data?.chain?.id;\n this.args = {\n ...this.args,\n publicClient\n };\n this.publicClients.clear();\n this.setState((x) => ({\n ...x,\n publicClient: this.getPublicClient({ chainId })\n }));\n }\n getWebSocketPublicClient({ chainId } = {}) {\n let webSocketPublicClient_ = this.webSocketPublicClients.get(-1);\n if (webSocketPublicClient_ && webSocketPublicClient_?.chain.id === chainId)\n return webSocketPublicClient_;\n webSocketPublicClient_ = this.webSocketPublicClients.get(chainId ?? -1);\n if (webSocketPublicClient_)\n return webSocketPublicClient_;\n const { webSocketPublicClient } = this.args;\n webSocketPublicClient_ = typeof webSocketPublicClient === \"function\" ? webSocketPublicClient({ chainId }) : webSocketPublicClient;\n if (webSocketPublicClient_)\n this.webSocketPublicClients.set(chainId ?? -1, webSocketPublicClient_);\n return webSocketPublicClient_;\n }\n setWebSocketPublicClient(webSocketPublicClient) {\n const chainId = this.data?.chain?.id;\n this.args = {\n ...this.args,\n webSocketPublicClient\n };\n this.webSocketPublicClients.clear();\n this.setState((x) => ({\n ...x,\n webSocketPublicClient: this.getWebSocketPublicClient({\n chainId\n })\n }));\n }\n setLastUsedConnector(lastUsedConnector = null) {\n this.storage?.setItem(\"wallet\", lastUsedConnector);\n }\n};\n_isAutoConnecting = new WeakMap();\n_lastUsedConnector = new WeakMap();\n_addEffects = new WeakSet();\naddEffects_fn = function() {\n const onChange = (data) => {\n this.setState((x) => ({\n ...x,\n data: { ...x.data, ...data }\n }));\n };\n const onDisconnect = () => {\n this.clearState();\n };\n const onError = (error) => {\n this.setState((x) => ({ ...x, error }));\n };\n this.store.subscribe(\n ({ connector }) => connector,\n (connector, prevConnector) => {\n prevConnector?.off?.(\"change\", onChange);\n prevConnector?.off?.(\"disconnect\", onDisconnect);\n prevConnector?.off?.(\"error\", onError);\n if (!connector)\n return;\n connector.on?.(\"change\", onChange);\n connector.on?.(\"disconnect\", onDisconnect);\n connector.on?.(\"error\", onError);\n }\n );\n const { publicClient, webSocketPublicClient } = this.args;\n const subscribePublicClient = typeof publicClient === \"function\";\n const subscribeWebSocketPublicClient = typeof webSocketPublicClient === \"function\";\n if (subscribePublicClient || subscribeWebSocketPublicClient)\n this.store.subscribe(\n ({ data }) => data?.chain?.id,\n (chainId) => {\n this.setState((x) => ({\n ...x,\n publicClient: this.getPublicClient({ chainId }),\n webSocketPublicClient: this.getWebSocketPublicClient({\n chainId\n })\n }));\n }\n );\n};\nvar config;\nfunction createConfig(args) {\n const config_ = new Config(args);\n config = config_;\n return config_;\n}\nfunction getConfig() {\n if (!config) {\n throw new Error(\n \"No wagmi config found. Ensure you have set up a config: https://wagmi.sh/react/config\"\n );\n }\n return config;\n}\n\n// src/actions/accounts/connect.ts\nasync function connect({ chainId, connector }) {\n const config2 = getConfig();\n const activeConnector = config2.connector;\n if (activeConnector && connector.id === activeConnector.id)\n throw new ConnectorAlreadyConnectedError();\n try {\n config2.setState((x) => ({ ...x, status: \"connecting\" }));\n const data = await connector.connect({ chainId });\n config2.setLastUsedConnector(connector.id);\n config2.setState((x) => ({\n ...x,\n connector,\n chains: connector?.chains,\n data,\n status: \"connected\"\n }));\n config2.storage.setItem(\"connected\", true);\n return { ...data, connector };\n } catch (err) {\n config2.setState((x) => {\n return {\n ...x,\n status: x.connector ? \"connected\" : \"disconnected\"\n };\n });\n throw err;\n }\n}\n\n// src/actions/accounts/disconnect.ts\nasync function disconnect() {\n const config2 = getConfig();\n if (config2.connector)\n await config2.connector.disconnect();\n config2.clearState();\n config2.storage.removeItem(\"connected\");\n}\n\n// src/actions/accounts/fetchBalance.ts\nimport {\n ContractFunctionExecutionError as ContractFunctionExecutionError3,\n formatUnits as formatUnits2,\n hexToString as hexToString2,\n trim as trim2\n} from \"viem\";\n\n// src/constants/abis.ts\nvar erc20ABI = [\n {\n type: \"event\",\n name: \"Approval\",\n inputs: [\n {\n indexed: true,\n name: \"owner\",\n type: \"address\"\n },\n {\n indexed: true,\n name: \"spender\",\n type: \"address\"\n },\n {\n indexed: false,\n name: \"value\",\n type: \"uint256\"\n }\n ]\n },\n {\n type: \"event\",\n name: \"Transfer\",\n inputs: [\n {\n indexed: true,\n name: \"from\",\n type: \"address\"\n },\n {\n indexed: true,\n name: \"to\",\n type: \"address\"\n },\n {\n indexed: false,\n name: \"value\",\n type: \"uint256\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"allowance\",\n stateMutability: \"view\",\n inputs: [\n {\n name: \"owner\",\n type: \"address\"\n },\n {\n name: \"spender\",\n type: \"address\"\n }\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint256\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"approve\",\n stateMutability: \"nonpayable\",\n inputs: [\n {\n name: \"spender\",\n type: \"address\"\n },\n {\n name: \"amount\",\n type: \"uint256\"\n }\n ],\n outputs: [\n {\n name: \"\",\n type: \"bool\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"balanceOf\",\n stateMutability: \"view\",\n inputs: [\n {\n name: \"account\",\n type: \"address\"\n }\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint256\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"decimals\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"uint8\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"name\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"string\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"symbol\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"string\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"totalSupply\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"uint256\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"transfer\",\n stateMutability: \"nonpayable\",\n inputs: [\n {\n name: \"recipient\",\n type: \"address\"\n },\n {\n name: \"amount\",\n type: \"uint256\"\n }\n ],\n outputs: [\n {\n name: \"\",\n type: \"bool\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"transferFrom\",\n stateMutability: \"nonpayable\",\n inputs: [\n {\n name: \"sender\",\n type: \"address\"\n },\n {\n name: \"recipient\",\n type: \"address\"\n },\n {\n name: \"amount\",\n type: \"uint256\"\n }\n ],\n outputs: [\n {\n name: \"\",\n type: \"bool\"\n }\n ]\n }\n];\nvar erc20ABI_bytes32 = [\n {\n type: \"event\",\n name: \"Approval\",\n inputs: [\n {\n indexed: true,\n name: \"owner\",\n type: \"address\"\n },\n {\n indexed: true,\n name: \"spender\",\n type: \"address\"\n },\n {\n indexed: false,\n name: \"value\",\n type: \"uint256\"\n }\n ]\n },\n {\n type: \"event\",\n name: \"Transfer\",\n inputs: [\n {\n indexed: true,\n name: \"from\",\n type: \"address\"\n },\n {\n indexed: true,\n name: \"to\",\n type: \"address\"\n },\n {\n indexed: false,\n name: \"value\",\n type: \"uint256\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"allowance\",\n stateMutability: \"view\",\n inputs: [\n {\n name: \"owner\",\n type: \"address\"\n },\n {\n name: \"spender\",\n type: \"address\"\n }\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint256\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"approve\",\n stateMutability: \"nonpayable\",\n inputs: [\n {\n name: \"spender\",\n type: \"address\"\n },\n {\n name: \"amount\",\n type: \"uint256\"\n }\n ],\n outputs: [\n {\n name: \"\",\n type: \"bool\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"balanceOf\",\n stateMutability: \"view\",\n inputs: [\n {\n name: \"account\",\n type: \"address\"\n }\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint256\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"decimals\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"uint8\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"name\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"bytes32\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"symbol\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"bytes32\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"totalSupply\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"uint256\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"transfer\",\n stateMutability: \"nonpayable\",\n inputs: [\n {\n name: \"recipient\",\n type: \"address\"\n },\n {\n name: \"amount\",\n type: \"uint256\"\n }\n ],\n outputs: [\n {\n name: \"\",\n type: \"bool\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"transferFrom\",\n stateMutability: \"nonpayable\",\n inputs: [\n {\n name: \"sender\",\n type: \"address\"\n },\n {\n name: \"recipient\",\n type: \"address\"\n },\n {\n name: \"amount\",\n type: \"uint256\"\n }\n ],\n outputs: [\n {\n name: \"\",\n type: \"bool\"\n }\n ]\n }\n];\nvar erc721ABI = [\n {\n type: \"event\",\n name: \"Approval\",\n inputs: [\n {\n indexed: true,\n name: \"owner\",\n type: \"address\"\n },\n {\n indexed: true,\n name: \"spender\",\n type: \"address\"\n },\n {\n indexed: true,\n name: \"tokenId\",\n type: \"uint256\"\n }\n ]\n },\n {\n type: \"event\",\n name: \"ApprovalForAll\",\n inputs: [\n {\n indexed: true,\n name: \"owner\",\n type: \"address\"\n },\n {\n indexed: true,\n name: \"operator\",\n type: \"address\"\n },\n {\n indexed: false,\n name: \"approved\",\n type: \"bool\"\n }\n ]\n },\n {\n type: \"event\",\n name: \"Transfer\",\n inputs: [\n {\n indexed: true,\n name: \"from\",\n type: \"address\"\n },\n {\n indexed: true,\n name: \"to\",\n type: \"address\"\n },\n {\n indexed: true,\n name: \"tokenId\",\n type: \"uint256\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"approve\",\n stateMutability: \"payable\",\n inputs: [\n {\n name: \"spender\",\n type: \"address\"\n },\n {\n name: \"tokenId\",\n type: \"uint256\"\n }\n ],\n outputs: []\n },\n {\n type: \"function\",\n name: \"balanceOf\",\n stateMutability: \"view\",\n inputs: [\n {\n name: \"account\",\n type: \"address\"\n }\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint256\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"getApproved\",\n stateMutability: \"view\",\n inputs: [\n {\n name: \"tokenId\",\n type: \"uint256\"\n }\n ],\n outputs: [\n {\n name: \"\",\n type: \"address\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"isApprovedForAll\",\n stateMutability: \"view\",\n inputs: [\n {\n name: \"owner\",\n type: \"address\"\n },\n {\n name: \"operator\",\n type: \"address\"\n }\n ],\n outputs: [\n {\n name: \"\",\n type: \"bool\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"name\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"string\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"ownerOf\",\n stateMutability: \"view\",\n inputs: [\n {\n name: \"tokenId\",\n type: \"uint256\"\n }\n ],\n outputs: [\n {\n name: \"owner\",\n type: \"address\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"safeTransferFrom\",\n stateMutability: \"payable\",\n inputs: [\n {\n name: \"from\",\n type: \"address\"\n },\n {\n name: \"to\",\n type: \"address\"\n },\n {\n name: \"tokenId\",\n type: \"uint256\"\n }\n ],\n outputs: []\n },\n {\n type: \"function\",\n name: \"safeTransferFrom\",\n stateMutability: \"nonpayable\",\n inputs: [\n {\n name: \"from\",\n type: \"address\"\n },\n {\n name: \"to\",\n type: \"address\"\n },\n {\n name: \"id\",\n type: \"uint256\"\n },\n {\n name: \"data\",\n type: \"bytes\"\n }\n ],\n outputs: []\n },\n {\n type: \"function\",\n name: \"setApprovalForAll\",\n stateMutability: \"nonpayable\",\n inputs: [\n {\n name: \"operator\",\n type: \"address\"\n },\n {\n name: \"approved\",\n type: \"bool\"\n }\n ],\n outputs: []\n },\n {\n type: \"function\",\n name: \"symbol\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"string\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"tokenByIndex\",\n stateMutability: \"view\",\n inputs: [\n {\n name: \"index\",\n type: \"uint256\"\n }\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint256\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"tokenByIndex\",\n stateMutability: \"view\",\n inputs: [\n {\n name: \"owner\",\n type: \"address\"\n },\n {\n name: \"index\",\n type: \"uint256\"\n }\n ],\n outputs: [\n {\n name: \"tokenId\",\n type: \"uint256\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"tokenURI\",\n stateMutability: \"view\",\n inputs: [\n {\n name: \"tokenId\",\n type: \"uint256\"\n }\n ],\n outputs: [\n {\n name: \"\",\n type: \"string\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"totalSupply\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"uint256\"\n }\n ]\n },\n {\n type: \"function\",\n name: \"transferFrom\",\n stateMutability: \"payable\",\n inputs: [\n {\n name: \"sender\",\n type: \"address\"\n },\n {\n name: \"recipient\",\n type: \"address\"\n },\n {\n name: \"tokeId\",\n type: \"uint256\"\n }\n ],\n outputs: []\n }\n];\nvar erc4626ABI = [\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n name: \"owner\",\n type: \"address\"\n },\n {\n indexed: true,\n name: \"spender\",\n type: \"address\"\n },\n {\n indexed: false,\n name: \"value\",\n type: \"uint256\"\n }\n ],\n name: \"Approval\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n name: \"sender\",\n type: \"address\"\n },\n {\n indexed: true,\n name: \"receiver\",\n type: \"address\"\n },\n {\n indexed: false,\n name: \"assets\",\n type: \"uint256\"\n },\n {\n indexed: false,\n name: \"shares\",\n type: \"uint256\"\n }\n ],\n name: \"Deposit\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n name: \"from\",\n type: \"address\"\n },\n {\n indexed: true,\n name: \"to\",\n type: \"address\"\n },\n {\n indexed: false,\n name: \"value\",\n type: \"uint256\"\n }\n ],\n name: \"Transfer\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n name: \"sender\",\n type: \"address\"\n },\n {\n indexed: true,\n name: \"receiver\",\n type: \"address\"\n },\n {\n indexed: true,\n name: \"owner\",\n type: \"address\"\n },\n {\n indexed: false,\n name: \"assets\",\n type: \"uint256\"\n },\n {\n indexed: false,\n name: \"shares\",\n type: \"uint256\"\n }\n ],\n name: \"Withdraw\",\n type: \"event\"\n },\n {\n inputs: [\n {\n name: \"owner\",\n type: \"address\"\n },\n {\n name: \"spender\",\n type: \"address\"\n }\n ],\n name: \"allowance\",\n outputs: [\n {\n name: \"\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n name: \"spender\",\n type: \"address\"\n },\n {\n name: \"amount\",\n type: \"uint256\"\n }\n ],\n name: \"approve\",\n outputs: [\n {\n name: \"\",\n type: \"bool\"\n }\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"asset\",\n outputs: [\n {\n name: \"assetTokenAddress\",\n type: \"address\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n name: \"account\",\n type: \"address\"\n }\n ],\n name: \"balanceOf\",\n outputs: [\n {\n name: \"\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n name: \"shares\",\n type: \"uint256\"\n }\n ],\n name: \"convertToAssets\",\n outputs: [\n {\n name: \"assets\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n name: \"assets\",\n type: \"uint256\"\n }\n ],\n name: \"convertToShares\",\n outputs: [\n {\n name: \"shares\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n name: \"assets\",\n type: \"uint256\"\n },\n {\n name: \"receiver\",\n type: \"address\"\n }\n ],\n name: \"deposit\",\n outputs: [\n {\n name: \"shares\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n name: \"caller\",\n type: \"address\"\n }\n ],\n name: \"maxDeposit\",\n outputs: [\n {\n name: \"maxAssets\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n name: \"caller\",\n type: \"address\"\n }\n ],\n name: \"maxMint\",\n outputs: [\n {\n name: \"maxShares\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n name: \"owner\",\n type: \"address\"\n }\n ],\n name: \"maxRedeem\",\n outputs: [\n {\n name: \"maxShares\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n name: \"owner\",\n type: \"address\"\n }\n ],\n name: \"maxWithdraw\",\n outputs: [\n {\n name: \"maxAssets\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n name: \"shares\",\n type: \"uint256\"\n },\n {\n name: \"receiver\",\n type: \"address\"\n }\n ],\n name: \"mint\",\n outputs: [\n {\n name: \"assets\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n name: \"assets\",\n type: \"uint256\"\n }\n ],\n name: \"previewDeposit\",\n outputs: [\n {\n name: \"shares\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n name: \"shares\",\n type: \"uint256\"\n }\n ],\n name: \"previewMint\",\n outputs: [\n {\n name: \"assets\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n name: \"shares\",\n type: \"uint256\"\n }\n ],\n name: \"previewRedeem\",\n outputs: [\n {\n name: \"assets\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n name: \"assets\",\n type: \"uint256\"\n }\n ],\n name: \"previewWithdraw\",\n outputs: [\n {\n name: \"shares\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n name: \"shares\",\n type: \"uint256\"\n },\n {\n name: \"receiver\",\n type: \"address\"\n },\n {\n name: \"owner\",\n type: \"address\"\n }\n ],\n name: \"redeem\",\n outputs: [\n {\n name: \"assets\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"totalAssets\",\n outputs: [\n {\n name: \"totalManagedAssets\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"totalSupply\",\n outputs: [\n {\n name: \"\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n name: \"to\",\n type: \"address\"\n },\n {\n name: \"amount\",\n type: \"uint256\"\n }\n ],\n name: \"transfer\",\n outputs: [\n {\n name: \"\",\n type: \"bool\"\n }\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n name: \"from\",\n type: \"address\"\n },\n {\n name: \"to\",\n type: \"address\"\n },\n {\n name: \"amount\",\n type: \"uint256\"\n }\n ],\n name: \"transferFrom\",\n outputs: [\n {\n name: \"\",\n type: \"bool\"\n }\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n name: \"assets\",\n type: \"uint256\"\n },\n {\n name: \"receiver\",\n type: \"address\"\n },\n {\n name: \"owner\",\n type: \"address\"\n }\n ],\n name: \"withdraw\",\n outputs: [\n {\n name: \"shares\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n }\n];\n\n// src/actions/contracts/fetchToken.ts\nimport {\n ContractFunctionExecutionError,\n formatUnits,\n hexToString,\n trim\n} from \"viem\";\nasync function fetchToken({\n address,\n chainId,\n formatUnits: unit = 18\n}) {\n async function fetchToken_({ abi }) {\n const erc20Config = { address, abi, chainId };\n const [decimals, name, symbol, totalSupply] = await readContracts({\n allowFailure: false,\n contracts: [\n { ...erc20Config, functionName: \"decimals\" },\n { ...erc20Config, functionName: \"name\" },\n { ...erc20Config, functionName: \"symbol\" },\n { ...erc20Config, functionName: \"totalSupply\" }\n ]\n });\n return {\n address,\n decimals,\n name,\n symbol,\n totalSupply: {\n formatted: formatUnits(totalSupply, getUnit(unit)),\n value: totalSupply\n }\n };\n }\n try {\n return await fetchToken_({ abi: erc20ABI });\n } catch (err) {\n if (err instanceof ContractFunctionExecutionError) {\n const { name, symbol, ...rest } = await fetchToken_({\n abi: erc20ABI_bytes32\n });\n return {\n name: hexToString(trim(name, { dir: \"right\" })),\n symbol: hexToString(trim(symbol, { dir: \"right\" })),\n ...rest\n };\n }\n throw err;\n }\n}\n\n// src/actions/viem/getPublicClient.ts\nfunction getPublicClient({ chainId } = {}) {\n const config2 = getConfig();\n if (chainId)\n return config2.getPublicClient({ chainId }) || config2.publicClient;\n return config2.publicClient;\n}\n\n// src/actions/viem/getWalletClient.ts\nasync function getWalletClient({\n chainId\n} = {}) {\n const config2 = getConfig();\n const walletClient = await config2.connector?.getWalletClient?.({ chainId }) || null;\n return walletClient;\n}\n\n// src/actions/viem/getWebSocketPublicClient.ts\nfunction getWebSocketPublicClient({\n chainId\n} = {}) {\n const config2 = getConfig();\n if (chainId)\n return config2.getWebSocketPublicClient({ chainId }) || config2.webSocketPublicClient;\n return config2.webSocketPublicClient;\n}\n\n// src/actions/viem/watchPublicClient.ts\nfunction watchPublicClient(args, callback) {\n const config2 = getConfig();\n const handleChange = async () => callback(getPublicClient(args));\n const unsubscribe = config2.subscribe(\n ({ publicClient }) => publicClient,\n handleChange\n );\n return unsubscribe;\n}\n\n// src/actions/viem/watchWalletClient.ts\nimport { shallow } from \"zustand/shallow\";\nfunction watchWalletClient({ chainId }, callback) {\n const config2 = getConfig();\n const handleChange = async ({ chainId: chainId_ }) => {\n if (chainId && chainId_ && chainId !== chainId_)\n return;\n const walletClient = await getWalletClient({ chainId });\n if (!getConfig().connector)\n return callback(null);\n return callback(walletClient);\n };\n const unsubscribe = config2.subscribe(\n ({ data, connector }) => ({\n account: data?.account,\n chainId: data?.chain?.id,\n connector\n }),\n handleChange,\n {\n equalityFn: shallow\n }\n );\n return unsubscribe;\n}\n\n// src/actions/viem/watchWebSocketPublicClient.ts\nfunction watchWebSocketPublicClient(args, callback) {\n const config2 = getConfig();\n const handleChange = async () => callback(getWebSocketPublicClient(args));\n const unsubscribe = config2.subscribe(\n ({ webSocketPublicClient }) => webSocketPublicClient,\n handleChange\n );\n return unsubscribe;\n}\n\n// src/actions/contracts/prepareWriteContract.ts\nasync function prepareWriteContract({\n abi,\n address,\n args,\n chainId,\n functionName,\n walletClient: walletClient_,\n ...config2\n}) {\n const publicClient = getPublicClient({ chainId });\n const walletClient = walletClient_ ?? await getWalletClient({ chainId });\n if (!walletClient)\n throw new ConnectorNotFoundError();\n if (chainId)\n assertActiveChain({ chainId });\n const {\n account,\n accessList,\n blockNumber,\n blockTag,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n value\n } = getCallParameters(config2);\n const { result, request } = await publicClient.simulateContract({\n abi,\n address,\n functionName,\n args,\n account: account || walletClient.account,\n accessList,\n blockNumber,\n blockTag,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n value\n });\n const minimizedAbi = abi.filter(\n (abiItem) => \"name\" in abiItem && abiItem.name === functionName\n );\n return {\n mode: \"prepared\",\n request: {\n ...request,\n abi: minimizedAbi,\n chainId\n },\n result\n };\n}\n\n// src/actions/contracts/getContract.ts\nimport { getContract as getContract_ } from \"viem\";\nfunction getContract({\n address,\n abi,\n chainId,\n walletClient\n}) {\n const publicClient = getPublicClient({ chainId });\n return getContract_({\n address,\n abi,\n publicClient,\n walletClient\n });\n}\n\n// src/actions/contracts/multicall.ts\nasync function multicall({\n chainId,\n contracts,\n blockNumber,\n blockTag,\n ...args\n}) {\n const publicClient = getPublicClient({ chainId });\n if (!publicClient.chains)\n throw new ConfigChainsNotFound();\n if (chainId && publicClient.chain.id !== chainId)\n throw new ChainNotConfiguredError({ chainId });\n return publicClient.multicall({\n allowFailure: args.allowFailure ?? true,\n blockNumber,\n blockTag,\n contracts\n });\n}\n\n// src/actions/contracts/readContract.ts\nasync function readContract({\n address,\n account,\n chainId,\n abi,\n args,\n functionName,\n blockNumber,\n blockTag\n}) {\n const publicClient = getPublicClient({ chainId });\n return publicClient.readContract({\n abi,\n address,\n account,\n functionName,\n args,\n blockNumber,\n blockTag\n });\n}\n\n// src/actions/contracts/readContracts.ts\nimport { ContractFunctionExecutionError as ContractFunctionExecutionError2 } from \"viem\";\nasync function readContracts({\n contracts,\n blockNumber,\n blockTag,\n ...args\n}) {\n const { allowFailure = true } = args;\n try {\n const publicClient = getPublicClient();\n const contractsByChainId = contracts.reduce((contracts2, contract, index) => {\n const chainId = contract.chainId ?? publicClient.chain.id;\n return {\n ...contracts2,\n [chainId]: [...contracts2[chainId] || [], { contract, index }]\n };\n }, {});\n const promises = () => Object.entries(contractsByChainId).map(\n ([chainId, contracts2]) => multicall({\n allowFailure,\n chainId: parseInt(chainId),\n contracts: contracts2.map(\n ({ contract }) => contract\n ),\n blockNumber,\n blockTag\n })\n );\n const multicallResults = (await Promise.all(promises())).flat();\n const resultIndexes = Object.values(contractsByChainId).flatMap(\n (contracts2) => contracts2.map(({ index }) => index)\n );\n return multicallResults.reduce((results, result, index) => {\n if (results)\n results[resultIndexes[index]] = result;\n return results;\n }, []);\n } catch (err) {\n if (err instanceof ContractFunctionExecutionError2)\n throw err;\n const promises = () => contracts.map(\n (contract) => readContract({ ...contract, blockNumber, blockTag })\n );\n if (allowFailure)\n return (await Promise.allSettled(promises())).map((result) => {\n if (result.status === \"fulfilled\")\n return { result: result.value, status: \"success\" };\n return { error: result.reason, result: void 0, status: \"failure\" };\n });\n return await Promise.all(promises());\n }\n}\n\n// src/actions/contracts/watchContractEvent.ts\nimport { shallow as shallow2 } from \"zustand/shallow\";\nfunction watchContractEvent({\n address,\n abi,\n chainId,\n eventName\n}, callback) {\n let unwatch;\n const watchEvent = async () => {\n if (unwatch)\n unwatch();\n const publicClient = getWebSocketPublicClient({ chainId }) || getPublicClient({ chainId });\n unwatch = publicClient.watchContractEvent({\n address,\n abi,\n eventName,\n onLogs: callback\n });\n };\n watchEvent();\n const config2 = getConfig();\n const unsubscribe = config2.subscribe(\n ({ publicClient, webSocketPublicClient }) => ({\n publicClient,\n webSocketPublicClient\n }),\n watchEvent,\n { equalityFn: shallow2 }\n );\n return () => {\n unwatch?.();\n unsubscribe();\n };\n}\n\n// src/actions/network-status/watchBlockNumber.ts\nimport { shallow as shallow3 } from \"zustand/shallow\";\nfunction watchBlockNumber(args, callback) {\n let unwatch;\n const createListener = (publicClient) => {\n if (unwatch)\n unwatch();\n unwatch = publicClient.watchBlockNumber({\n onBlockNumber: callback,\n emitOnBegin: true,\n poll: true\n });\n };\n const publicClient_ = getWebSocketPublicClient({ chainId: args.chainId }) ?? getPublicClient({ chainId: args.chainId });\n if (args.listen)\n createListener(publicClient_);\n const config2 = getConfig();\n const unsubscribe = config2.subscribe(\n ({ publicClient, webSocketPublicClient }) => ({\n publicClient,\n webSocketPublicClient\n }),\n async ({ publicClient, webSocketPublicClient }) => {\n const publicClient_2 = webSocketPublicClient ?? publicClient;\n if (args.listen && !args.chainId && publicClient_2) {\n createListener(publicClient_2);\n }\n },\n {\n equalityFn: shallow3\n }\n );\n return () => {\n unsubscribe();\n unwatch?.();\n };\n}\n\n// src/actions/contracts/watchMulticall.ts\nfunction watchMulticall(args, callback) {\n const config2 = getConfig();\n const handleChange = async () => callback(await multicall(args));\n const unwatch = args.listenToBlock ? watchBlockNumber({ listen: true }, handleChange) : void 0;\n const unsubscribe = config2.subscribe(\n ({ publicClient }) => publicClient,\n handleChange\n );\n return () => {\n unsubscribe();\n unwatch?.();\n };\n}\n\n// src/actions/contracts/watchReadContract.ts\nfunction watchReadContract(args, callback) {\n const config2 = getConfig();\n const handleChange = async () => callback(await readContract(args));\n const unwatch = args.listenToBlock ? watchBlockNumber({ listen: true }, handleChange) : void 0;\n const unsubscribe = config2.subscribe(\n ({ publicClient }) => publicClient,\n handleChange\n );\n return () => {\n unsubscribe();\n unwatch?.();\n };\n}\n\n// src/actions/contracts/watchReadContracts.ts\nfunction watchReadContracts(args, callback) {\n const config2 = getConfig();\n const handleChange = async () => callback(await readContracts(args));\n const unwatch = args.listenToBlock ? watchBlockNumber({ listen: true }, handleChange) : void 0;\n const unsubscribe = config2.subscribe(\n ({ publicClient }) => publicClient,\n handleChange\n );\n return () => {\n unsubscribe();\n unwatch?.();\n };\n}\n\n// src/actions/contracts/writeContract.ts\nasync function writeContract(config2) {\n const walletClient = await getWalletClient({ chainId: config2.chainId });\n if (!walletClient)\n throw new ConnectorNotFoundError();\n if (config2.chainId)\n assertActiveChain({ chainId: config2.chainId });\n let request;\n if (config2.mode === \"prepared\") {\n request = config2.request;\n } else {\n const { chainId: _, mode: __, ...args } = config2;\n const res = await prepareWriteContract(args);\n request = res.request;\n }\n const hash = await walletClient.writeContract({\n ...request,\n chain: null\n });\n return { hash };\n}\n\n// src/actions/accounts/fetchBalance.ts\nasync function fetchBalance({\n address,\n chainId,\n formatUnits: unit,\n token\n}) {\n const config2 = getConfig();\n const publicClient = getPublicClient({ chainId });\n if (token) {\n const fetchContractBalance = async ({ abi }) => {\n const erc20Config = { abi, address: token, chainId };\n const [value2, decimals, symbol] = await readContracts({\n allowFailure: false,\n contracts: [\n {\n ...erc20Config,\n functionName: \"balanceOf\",\n args: [address]\n },\n { ...erc20Config, functionName: \"decimals\" },\n { ...erc20Config, functionName: \"symbol\" }\n ]\n });\n return {\n decimals,\n formatted: formatUnits2(value2 ?? \"0\", getUnit(unit ?? decimals)),\n symbol,\n value: value2\n };\n };\n try {\n return await fetchContractBalance({ abi: erc20ABI });\n } catch (err) {\n if (err instanceof ContractFunctionExecutionError3) {\n const { symbol, ...rest } = await fetchContractBalance({\n abi: erc20ABI_bytes32\n });\n return {\n symbol: hexToString2(trim2(symbol, { dir: \"right\" })),\n ...rest\n };\n }\n throw err;\n }\n }\n const chains = [\n ...config2.publicClient.chains || [],\n ...config2.chains ?? []\n ];\n const value = await publicClient.getBalance({ address });\n const chain = chains.find((x) => x.id === publicClient.chain.id);\n return {\n decimals: chain?.nativeCurrency.decimals ?? 18,\n formatted: formatUnits2(value ?? \"0\", getUnit(unit ?? 18)),\n symbol: chain?.nativeCurrency.symbol ?? \"ETH\",\n value\n };\n}\n\n// src/actions/accounts/getAccount.ts\nfunction getAccount() {\n const { data, connector, status } = getConfig();\n switch (status) {\n case \"connected\":\n return {\n address: data?.account,\n connector,\n isConnected: true,\n isConnecting: false,\n isDisconnected: false,\n isReconnecting: false,\n status\n };\n case \"reconnecting\":\n return {\n address: data?.account,\n connector,\n isConnected: !!data?.account,\n isConnecting: false,\n isDisconnected: false,\n isReconnecting: true,\n status\n };\n case \"connecting\":\n return {\n address: data?.account,\n connector,\n isConnected: false,\n isConnecting: true,\n isDisconnected: false,\n isReconnecting: false,\n status\n };\n case \"disconnected\":\n return {\n address: void 0,\n connector: void 0,\n isConnected: false,\n isConnecting: false,\n isDisconnected: true,\n isReconnecting: false,\n status\n };\n }\n}\n\n// src/actions/accounts/getNetwork.ts\nfunction getNetwork() {\n const config2 = getConfig();\n const chainId = config2.data?.chain?.id;\n const activeChains = config2.chains ?? [];\n const activeChain = [\n ...config2.publicClient?.chains || [],\n ...activeChains\n ].find((x) => x.id === chainId) ?? {\n id: chainId,\n name: `Chain ${chainId}`,\n network: `${chainId}`,\n nativeCurrency: { name: \"Ether\", decimals: 18, symbol: \"ETH\" },\n rpcUrls: {\n default: { http: [\"\"] },\n public: { http: [\"\"] }\n }\n };\n return {\n chain: chainId ? {\n ...activeChain,\n ...config2.data?.chain,\n id: chainId\n } : void 0,\n chains: activeChains\n };\n}\n\n// src/actions/accounts/signMessage.ts\nasync function signMessage(args) {\n const walletClient = await getWalletClient();\n if (!walletClient)\n throw new ConnectorNotFoundError();\n return await walletClient.signMessage({\n message: args.message\n });\n}\n\n// src/actions/accounts/signTypedData.ts\nasync function signTypedData({\n domain,\n message,\n primaryType,\n types\n}) {\n const walletClient = await getWalletClient();\n if (!walletClient)\n throw new ConnectorNotFoundError();\n const { chainId } = domain;\n if (chainId)\n assertActiveChain({ chainId });\n return walletClient.signTypedData({\n message,\n primaryType,\n types,\n domain\n });\n}\n\n// src/actions/accounts/switchNetwork.ts\nasync function switchNetwork({\n chainId\n}) {\n const { connector } = getConfig();\n if (!connector)\n throw new ConnectorNotFoundError();\n if (!connector.switchChain)\n throw new SwitchChainNotSupportedError({\n connector\n });\n return connector.switchChain(chainId);\n}\n\n// src/actions/accounts/watchAccount.ts\nimport { shallow as shallow4 } from \"zustand/shallow\";\nfunction watchAccount(callback, { selector = (x) => x } = {}) {\n const config2 = getConfig();\n const handleChange = () => callback(getAccount());\n const unsubscribe = config2.subscribe(\n ({ data, connector, status }) => selector({\n address: data?.account,\n connector,\n status\n }),\n handleChange,\n {\n equalityFn: shallow4\n }\n );\n return unsubscribe;\n}\n\n// src/actions/accounts/watchNetwork.ts\nimport { shallow as shallow5 } from \"zustand/shallow\";\nfunction watchNetwork(callback, { selector = (x) => x } = {}) {\n const config2 = getConfig();\n const handleChange = () => callback(getNetwork());\n const unsubscribe = config2.subscribe(\n ({ data, chains }) => selector({ chainId: data?.chain?.id, chains }),\n handleChange,\n {\n equalityFn: shallow5\n }\n );\n return unsubscribe;\n}\n\n// src/actions/ens/fetchEnsAddress.ts\nimport { getAddress } from \"viem\";\nimport { normalize } from \"viem/ens\";\nasync function fetchEnsAddress({\n chainId,\n name\n}) {\n const publicClient = getPublicClient({ chainId });\n const address = await publicClient.getEnsAddress({\n name: normalize(name)\n });\n try {\n if (address === \"0x0000000000000000000000000000000000000000\")\n return null;\n return address ? getAddress(address) : null;\n } catch (_error) {\n return null;\n }\n}\n\n// src/actions/ens/fetchEnsAvatar.ts\nimport { normalize as normalize2 } from \"viem/ens\";\nasync function fetchEnsAvatar({\n name,\n chainId\n}) {\n const publicClient = getPublicClient({ chainId });\n const avatar = await publicClient.getEnsAvatar({ name: normalize2(name) });\n return avatar;\n}\n\n// src/actions/ens/fetchEnsName.ts\nimport { getAddress as getAddress2 } from \"viem\";\nasync function fetchEnsName({\n address,\n chainId\n}) {\n const publicClient = getPublicClient({ chainId });\n return publicClient.getEnsName({\n address: getAddress2(address)\n });\n}\n\n// src/actions/ens/fetchEnsResolver.ts\nimport { normalize as normalize3 } from \"viem/ens\";\nasync function fetchEnsResolver({\n chainId,\n name\n}) {\n const publicClient = getPublicClient({ chainId });\n const resolver = await publicClient.getEnsResolver({ name: normalize3(name) });\n return resolver;\n}\n\n// src/actions/network-status/fetchBlockNumber.ts\nasync function fetchBlockNumber({\n chainId\n} = {}) {\n const publicClient = getPublicClient({ chainId });\n const blockNumber = await publicClient.getBlockNumber();\n return blockNumber;\n}\n\n// src/actions/network-status/fetchFeeData.ts\nimport { formatUnits as formatUnits3, parseGwei } from \"viem\";\nasync function fetchFeeData({\n chainId,\n formatUnits: units = \"gwei\"\n} = {}) {\n const publicClient = getPublicClient({ chainId });\n const block = await publicClient.getBlock();\n let gasPrice = null;\n try {\n gasPrice = await publicClient.getGasPrice();\n } catch {\n }\n let lastBaseFeePerGas = null;\n let maxFeePerGas = null;\n let maxPriorityFeePerGas = null;\n if (block?.baseFeePerGas) {\n lastBaseFeePerGas = block.baseFeePerGas;\n maxPriorityFeePerGas = parseGwei(\"1\");\n maxFeePerGas = block.baseFeePerGas * 2n + maxPriorityFeePerGas;\n }\n const unit = getUnit(units);\n const formatted = {\n gasPrice: gasPrice ? formatUnits3(gasPrice, unit) : null,\n maxFeePerGas: maxFeePerGas ? formatUnits3(maxFeePerGas, unit) : null,\n maxPriorityFeePerGas: maxPriorityFeePerGas ? formatUnits3(maxPriorityFeePerGas, unit) : null\n };\n return {\n lastBaseFeePerGas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n formatted\n };\n}\n\n// src/actions/transactions/fetchTransaction.ts\nasync function fetchTransaction({\n chainId,\n hash\n}) {\n const publicClient = getPublicClient({ chainId });\n return publicClient.getTransaction({ hash });\n}\n\n// src/actions/transactions/prepareSendTransaction.ts\nimport { isAddress } from \"viem\";\nasync function prepareSendTransaction({\n accessList,\n account,\n chainId,\n data,\n gas: gas_,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n to: to_,\n value,\n walletClient: walletClient_\n}) {\n const publicClient = getPublicClient({ chainId });\n const walletClient = walletClient_ ?? await getWalletClient({ chainId });\n if (!walletClient)\n throw new ConnectorNotFoundError();\n if (chainId)\n assertActiveChain({ chainId });\n const to = (to_ && !isAddress(to_) ? await fetchEnsAddress({ name: to_ }) : to_) || void 0;\n if (to && !isAddress(to))\n throw new Error(\"Invalid address\");\n const gas = typeof gas_ === \"undefined\" ? await publicClient.estimateGas({\n accessList,\n account: walletClient.account,\n data,\n gas: gas_ ?? void 0,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n to,\n value\n }) : gas_ || void 0;\n return {\n accessList,\n account,\n data,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n mode: \"prepared\",\n nonce,\n to,\n value,\n ...chainId ? { chainId } : {}\n };\n}\n\n// src/actions/transactions/sendTransaction.ts\nasync function sendTransaction({\n accessList,\n account,\n chainId,\n data,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n mode,\n nonce,\n to,\n value\n}) {\n const walletClient = await getWalletClient({ chainId });\n if (!walletClient)\n throw new ConnectorNotFoundError();\n if (chainId)\n assertActiveChain({ chainId });\n let args;\n if (mode === \"prepared\") {\n args = {\n account,\n accessList,\n chain: null,\n data,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n to,\n value\n };\n } else {\n args = await prepareSendTransaction({\n accessList,\n account,\n chainId,\n data,\n gas: gas || null,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n to,\n value\n });\n }\n const hash = await walletClient.sendTransaction({ ...args, chain: null });\n return { hash };\n}\n\n// src/actions/transactions/waitForTransaction.ts\nimport { hexToString as hexToString3 } from \"viem\";\nasync function waitForTransaction({\n chainId,\n confirmations = 1,\n hash,\n onReplaced,\n timeout = 0\n}) {\n const publicClient = getPublicClient({ chainId });\n const receipt = await publicClient.waitForTransactionReceipt({\n hash,\n confirmations,\n onReplaced,\n timeout\n });\n if (receipt.status === \"reverted\") {\n const txn = await publicClient.getTransaction({\n hash: receipt.transactionHash\n });\n const code = await publicClient.call({\n ...txn,\n gasPrice: txn.type !== \"eip1559\" ? txn.gasPrice : void 0,\n maxFeePerGas: txn.type === \"eip1559\" ? txn.maxFeePerGas : void 0,\n maxPriorityFeePerGas: txn.type === \"eip1559\" ? txn.maxPriorityFeePerGas : void 0\n });\n const reason = hexToString3(`0x${code.substring(138)}`);\n throw new Error(reason);\n }\n return receipt;\n}\n\n// src/actions/transactions/watchPendingTransactions.ts\nimport { shallow as shallow6 } from \"zustand/shallow\";\nfunction watchPendingTransactions(args, callback) {\n let unwatch;\n const createListener = (publicClient) => {\n if (unwatch)\n unwatch();\n unwatch = publicClient.watchPendingTransactions({\n onTransactions: callback,\n poll: true\n });\n };\n const publicClient_ = getWebSocketPublicClient({ chainId: args.chainId }) ?? getPublicClient({ chainId: args.chainId });\n createListener(publicClient_);\n const config2 = getConfig();\n const unsubscribe = config2.subscribe(\n ({ publicClient, webSocketPublicClient }) => ({\n publicClient,\n webSocketPublicClient\n }),\n async ({ publicClient, webSocketPublicClient }) => {\n const publicClient_2 = webSocketPublicClient ?? publicClient;\n if (!args.chainId && publicClient_2) {\n createListener(publicClient_2);\n }\n },\n {\n equalityFn: shallow6\n }\n );\n return () => {\n unsubscribe();\n unwatch?.();\n };\n}\n\n// src/utils/assertActiveChain.ts\nfunction assertActiveChain({ chainId }) {\n const { chain: activeChain, chains } = getNetwork();\n const activeChainId = activeChain?.id;\n if (activeChainId && chainId !== activeChainId) {\n throw new ChainMismatchError({\n activeChain: chains.find((x) => x.id === activeChainId)?.name ?? `Chain ${activeChainId}`,\n targetChain: chains.find((x) => x.id === chainId)?.name ?? `Chain ${chainId}`\n });\n }\n}\n\nexport {\n configureChains,\n ChainMismatchError,\n ChainNotConfiguredError,\n ConnectorAlreadyConnectedError,\n ConfigChainsNotFound,\n SwitchChainNotSupportedError,\n ConnectorNotFoundError,\n deepEqual,\n deserialize,\n getCallParameters,\n getSendTransactionParameters,\n getUnit,\n serialize,\n noopStorage,\n createStorage,\n Config,\n createConfig,\n getConfig,\n connect,\n disconnect,\n erc20ABI,\n erc721ABI,\n erc4626ABI,\n fetchToken,\n getPublicClient,\n getWalletClient,\n getWebSocketPublicClient,\n watchPublicClient,\n watchWalletClient,\n watchWebSocketPublicClient,\n prepareWriteContract,\n getContract,\n multicall,\n readContract,\n readContracts,\n watchContractEvent,\n watchBlockNumber,\n watchMulticall,\n watchReadContract,\n watchReadContracts,\n writeContract,\n fetchBalance,\n getAccount,\n getNetwork,\n signMessage,\n signTypedData,\n switchNetwork,\n watchAccount,\n watchNetwork,\n fetchEnsAddress,\n fetchEnsAvatar,\n fetchEnsName,\n fetchEnsResolver,\n fetchBlockNumber,\n fetchFeeData,\n fetchTransaction,\n prepareSendTransaction,\n sendTransaction,\n waitForTransaction,\n watchPendingTransactions\n};\n", "import { APIManager } from \"@stakekit/api-hooks\";\nimport { useCallback } from \"react\";\nimport { useAppDispatch } from \"../state\";\nimport { queryClient } from \"../services/query-client\";\n\nexport const useResetApp = () => {\n const appDispatch = useAppDispatch();\n\n return useCallback(() => {\n appDispatch({ type: \"state/reset\" });\n APIManager.getQueryClient()?.resetQueries();\n queryClient.resetQueries();\n }, [appDispatch]);\n};\n", "import BigNumber from \"bignumber.js\";\nimport { List, Maybe } from \"purify-ts\";\nimport {\n createContext,\n Dispatch,\n ReactNode,\n useContext,\n useEffect,\n useMemo,\n useReducer,\n} from \"react\";\nimport { getGasEstimateTotal, getMaxStakeAmount } from \"../domain\";\nimport { useAccountBalance } from \"../hooks\";\nimport { Actions, ExtraData, State } from \"./types\";\nimport { useFilteredOpportunities } from \"../hooks/api/use-filtered-opportunities\";\nimport { config } from \"../config\";\nimport { StakeRequestDto, useStakeGetValidators } from \"@stakekit/api-hooks\";\nimport { useStakeEnterAndTxsConstruct } from \"../hooks/api/use-stake-enter-and-txs-construct\";\nimport { useSKWallet } from \"../hooks/use-sk-wallet\";\nimport { useNetworkGas } from \"../hooks/api/use-network-gas\";\n\nconst AppStateContext = createContext<(State & ExtraData) | undefined>(\n undefined\n);\nconst AppDispatchContext = createContext<Dispatch<Actions> | undefined>(\n undefined\n);\n\nconst getInitialState = (): State => ({\n selectedStake: Maybe.empty(),\n selectedValidator: Maybe.empty(),\n stakeAmount: Maybe.of(new BigNumber(0)),\n});\n\nexport const AppStateProvider = ({ children }: { children: ReactNode }) => {\n const reducer = (state: State, action: Actions): State => {\n // console.log(\"__APP_STATE_ACTION__: \", state, action);\n\n switch (action.type) {\n case \"stake/select\":\n return {\n ...state,\n selectedValidator: Maybe.empty(),\n selectedStake: Maybe.of(action.data),\n stakeAmount: Maybe.fromNullable(\n action.data.args.enter.args?.amount?.minimum\n )\n .toEither(new BigNumber(0))\n .map((min) => new BigNumber(min))\n .toMaybe(),\n };\n case \"validator/select\": {\n return {\n ...state,\n selectedValidator: Maybe.of(action.data),\n };\n }\n case \"stakeAmount/change\": {\n return {\n ...state,\n stakeAmount: action.data,\n };\n }\n case \"stakeAmount/max\": {\n return {\n ...state,\n stakeAmount: action.data,\n };\n }\n case \"state/reset\": {\n return getInitialState();\n }\n default:\n return state;\n }\n };\n\n const [state, dispatch] = useReducer(reducer, getInitialState());\n\n const { selectedValidator, selectedStake, stakeAmount } = state;\n\n const { address, additionalAddresses } = useSKWallet();\n\n const opportunities = useFilteredOpportunities();\n\n // set initial stake opportunity\n useEffect(() => {\n if (opportunities.data?.length) {\n dispatch({ type: \"stake/select\", data: opportunities.data[0] });\n }\n }, [address, opportunities.data]);\n\n const selectedStakeId = selectedStake.mapOrDefault((s) => s.id, \"\");\n\n const gasParameters = useNetworkGas(selectedStake);\n\n const gasModeValue = useMemo(\n () =>\n Maybe.fromNullable(gasParameters.data).chain((val) =>\n List.find((v) => v.name === \"average\", val.modes.values)\n ),\n [gasParameters.data]\n );\n\n const { data: validators } = useStakeGetValidators(selectedStakeId, {\n query: { enabled: !!selectedStakeId },\n });\n\n /**\n * Set initial validator\n */\n useEffect(() => {\n selectedValidator.ifNothing(() => {\n Maybe.fromNullable(validators)\n .chain((v) => selectedStake.map((ss) => ({ v, ss })))\n .toEither(null)\n .chain((val) =>\n List.find(\n (item) =>\n !!(\n item.address &&\n val.ss.config.defaultValidator &&\n item.address === val.ss.config.defaultValidator\n ),\n val.v\n )\n .toEither(null)\n .chainLeft(() => List.head(val.v).toEither(null))\n )\n .ifRight((val) => dispatch({ type: \"validator/select\", data: val }));\n });\n }, [selectedStake, selectedValidator, validators]);\n\n const accountBalance = useAccountBalance({ selectedStake });\n\n const availableAmount = useMemo(() => {\n return Maybe.fromNullable(accountBalance.data).mapOrDefault(\n (b) =>\n b.reduce(\n (acc, next) => acc.plus(new BigNumber(next.amount ?? 0)),\n new BigNumber(0)\n ),\n new BigNumber(0)\n );\n }, [accountBalance.data]);\n\n const stakeIntegrationMinLimit = useMemo(\n () =>\n selectedStake\n .chainNullable((y) => y.args.enter.args?.amount?.minimum)\n .map((a) => new BigNumber(a))\n .orDefault(new BigNumber(0)),\n [selectedStake]\n );\n\n const stakeIntegrationMaxLimit = useMemo(\n () =>\n selectedStake\n .chainNullable((y) => y.args.enter.args?.amount?.maximum)\n .map((a) => new BigNumber(a))\n .orDefault(new BigNumber(Number.POSITIVE_INFINITY)),\n [selectedStake]\n );\n\n const stakeEnterAndTxsConstruct = useStakeEnterAndTxsConstruct();\n\n const stakeSession = useMemo(\n () => Maybe.fromNullable(stakeEnterAndTxsConstruct.data?.stakeEnterRes),\n [stakeEnterAndTxsConstruct.data?.stakeEnterRes]\n );\n\n const gasEstimateTotal = useMemo(\n () =>\n gasModeValue.mapOrDefault(\n (val) => getGasEstimateTotal({ gasModeValue: val }),\n new BigNumber(0)\n ),\n [gasModeValue]\n );\n\n const maxStakeAmount = useMemo(() => {\n return getMaxStakeAmount({\n availableAmount,\n gasEstimateTotal,\n stakeIntegrationMaxLimit,\n });\n }, [availableAmount, gasEstimateTotal, stakeIntegrationMaxLimit]);\n\n const minStakeAmount = stakeIntegrationMinLimit;\n\n const stakeRequestDto = useMemo(\n () =>\n selectedStake\n .chain((stake) =>\n stakeAmount.map((amount) => ({\n stake,\n amount,\n validator: selectedValidator.extractNullable(),\n }))\n )\n .chain((v) =>\n Maybe.fromNullable(address).map((a) => ({ ...v, address: a }))\n )\n .map<StakeRequestDto>((val) => ({\n addresses: {\n address: val.address,\n additionalAddresses: additionalAddresses ?? undefined,\n },\n integrationId: val.stake.id,\n args: {\n amount: val.amount.toString(),\n validatorAddress: val.validator?.address,\n },\n })),\n [\n address,\n selectedStake,\n selectedValidator,\n stakeAmount,\n additionalAddresses,\n ]\n );\n\n const stakeEnterTxGas = useMemo(() => {\n return Maybe.fromNullable(stakeEnterAndTxsConstruct.data).map((val) =>\n val.transactionConstructRes.reduce(\n (acc, val) => acc.plus(new BigNumber(val.gasEstimate?.amount ?? 0)),\n new BigNumber(0)\n )\n );\n }, [stakeEnterAndTxsConstruct.data]);\n\n const actions = useMemo(\n () => ({\n onMaxClick: () => {\n const gasEstimateTotalWithPercFix = gasEstimateTotal.multipliedBy(\n config.gasEstimatePercentFix / 100 + 1\n );\n\n dispatch({\n type: \"stakeAmount/max\",\n data: Maybe.of(\n getMaxStakeAmount({\n availableAmount,\n gasEstimateTotal: gasEstimateTotalWithPercFix,\n stakeIntegrationMaxLimit,\n })\n ),\n });\n },\n }),\n [availableAmount, gasEstimateTotal, stakeIntegrationMaxLimit]\n );\n\n const value: State & ExtraData = useMemo(\n () => ({\n selectedValidator,\n selectedStake,\n stakeAmount,\n gasEstimateTotal,\n availableAmount,\n maxStakeAmount,\n minStakeAmount,\n stakeSession,\n actions,\n gasModeValue,\n stakeRequestDto,\n stakeEnterTxGas,\n }),\n [\n selectedValidator,\n selectedStake,\n stakeAmount,\n gasEstimateTotal,\n availableAmount,\n maxStakeAmount,\n minStakeAmount,\n stakeSession,\n actions,\n gasModeValue,\n stakeRequestDto,\n stakeEnterTxGas,\n ]\n );\n\n return (\n <AppStateContext.Provider value={value}>\n <AppDispatchContext.Provider value={dispatch}>\n {children}\n </AppDispatchContext.Provider>\n </AppStateContext.Provider>\n );\n};\n\nexport const useAppState = () => {\n const state = useContext(AppStateContext);\n if (state === undefined) {\n throw new Error(\"useState must be used within a StateProvider\");\n }\n\n return state;\n};\n\nexport const useAppDispatch = () => {\n const dispatch = useContext(AppDispatchContext);\n if (dispatch === undefined) {\n throw new Error(\"useDispatch must be used within a StateProvider\");\n }\n\n return dispatch;\n};\n", "import BigNumber from \"bignumber.js\";\nimport { Prices, TokenString } from \"./types\";\nimport { CosmosNetworks, EvmNetworks, Token } from \"@stakekit/types\";\nimport {\n GasModeValueDto,\n StakeDto,\n TransactionDto,\n TransactionStatusResponseDto,\n} from \"@stakekit/api-hooks\";\nimport { Override } from \"../types\";\nimport { Left, Right } from \"purify-ts\";\n\nexport const evmNetworksSet = new Set(Object.values(EvmNetworks));\nexport const cosmosNetworksSet = new Set(Object.values(CosmosNetworks));\n\nexport const isEvmNetwork = (network: string): network is EvmNetworks =>\n evmNetworksSet.has(network.toLowerCase() as EvmNetworks);\n\nexport const isCosmosNetwork = (network: string): network is CosmosNetworks =>\n cosmosNetworksSet.has(network.toLowerCase() as CosmosNetworks);\n\nexport const tokenString = (token: Token): TokenString => {\n return `${token.network}-${token.address?.toLowerCase()}`;\n};\n\nexport const equalTokens = (a: Token, b: Token): boolean => {\n return tokenString(a) === tokenString(b);\n};\n\nexport const getTokenPriceInUSD = ({\n token,\n amount,\n prices,\n}: {\n token: Token;\n amount: string | BigNumber;\n prices: Prices;\n}): BigNumber => {\n const amountBN = BigNumber(amount);\n const ts = tokenString(token);\n const price = prices.get(ts)?.price ?? 0;\n\n return amountBN.times(price);\n};\n\nexport const getGasEstimateTotal = ({\n gasModeValue,\n}: {\n gasModeValue: GasModeValueDto;\n}) => {\n return new BigNumber(\n gasModeValue.value ? toEther({ val: gasModeValue.value, decimals: 9 }) : 0\n );\n};\n\nexport const getMaxStakeAmount = ({\n availableAmount,\n gasEstimateTotal,\n stakeIntegrationMaxLimit,\n}: {\n availableAmount: BigNumber;\n gasEstimateTotal: BigNumber;\n stakeIntegrationMaxLimit: BigNumber;\n}) => {\n return BigNumber.max(\n BigNumber.min(\n stakeIntegrationMaxLimit,\n availableAmount.minus(gasEstimateTotal)\n ),\n new BigNumber(0)\n );\n};\n\nexport const toWei = (amount: string, decimals: number) => {\n return new BigNumber(amount)\n .times(new BigNumber(1).shiftedBy(decimals))\n .toFixed(0);\n};\n\nexport const toEther = ({ val, decimals }: { val: string; decimals: number }) =>\n new BigNumber(val).dividedBy(10 ** decimals);\n\nexport const etherToGwei = (amount: BigNumber) => {\n return amount.times(10 ** 9);\n};\n\nexport const getBaseToken = (token: Token) => {\n const { address, ...restToken } = token;\n\n return restToken as Token;\n};\n\n/**\n * Get stake transactions available for signing or tx status check\n * If any of the transactions are in a failed state, return an error\n */\nexport const getValidStakeSessionTx = (stakeDto: StakeDto) => {\n const val: StakeDto = {\n ...stakeDto,\n transactions: stakeDto.transactions.filter(\n (\n tx\n ): tx is Override<\n TransactionDto,\n {\n status: Override<\n TransactionDto[\"status\"],\n Exclude<TransactionDto[\"status\"], \"SKIPPED\">\n >;\n }\n > => tx.status !== \"SKIPPED\"\n ),\n };\n\n return val.transactions.some((tx) => isTxError(tx))\n ? Left(new Error(\"Transaction failed\"))\n : Right(val);\n};\n\nexport const isTxError = (tx: TransactionDto | TransactionStatusResponseDto) =>\n tx.status === \"FAILED\" ||\n tx.status === \"BLOCKED\" ||\n tx.status === \"NOT_FOUND\";\n", "import { useStakeYieldOpportunities } from \"@stakekit/api-hooks\";\n\nexport const useOpportunities: typeof useStakeYieldOpportunities = (\n ...args\n) => {\n return useStakeYieldOpportunities(...args);\n};\n", "import { useOpportunities } from \"./use-opportunities\";\nimport { useSKWallet } from \"../use-sk-wallet\";\n\nexport const useFilteredOpportunities = () => {\n const { network, isConnected } = useSKWallet();\n\n return useOpportunities({\n query: {\n select(data) {\n return data.filter((o) => {\n if (!isConnected) return true;\n\n return (\n network === o.token.network &&\n !o.token.network.includes(\"goerli\") &&\n !o.args.enter.args?.nfts &&\n o.id !== \"binance-bnb-native-staking\" &&\n o.id !== \"binance-testnet-bnb-native-staking\"\n );\n });\n },\n },\n });\n};\n", "export const config = {\n appName: \"SteakKit\",\n currency: \"USD\",\n apiUrl: import.meta.env.VITE_API_URL,\n apiKey: import.meta.env.VITE_API_KEY,\n queryClient: {\n staleTime: 1000 * 30,\n cacheTime: 1000 * 30,\n },\n gasEstimatePercentFix: 20,\n isTestMode: import.meta.env.MODE === \"test\",\n walletConnectV2: {\n relayUrl: \"wss://relay.walletconnect.com\",\n projectId: \"10a5257c04d1d3097ff768a139c95f50\",\n },\n} as const;\n", "import {\n GasModeValueDto,\n StakeDto,\n StakeRequestDto,\n TransactionDto,\n stakeEnter,\n transactionConstruct,\n} from \"@stakekit/api-hooks\";\nimport { EitherAsync } from \"purify-ts\";\nimport { useSharedMutation } from \"../use-shared-mutation\";\nimport { getValidStakeSessionTx } from \"../../domain\";\n\nexport const useStakeEnterAndTxsConstruct = () => {\n return useSharedMutation<\n { stakeEnterRes: StakeDto; transactionConstructRes: TransactionDto[] },\n Error,\n {\n stakeRequestDto: StakeRequestDto;\n gasModeValue: GasModeValueDto | undefined;\n }\n >([\"stake-enter\"], async ({ stakeRequestDto, gasModeValue }) => {\n const result = await EitherAsync(() => stakeEnter(stakeRequestDto))\n .mapLeft(() => new Error(\"Stake enter error\"))\n .chain((val) => EitherAsync.liftEither(getValidStakeSessionTx(val)))\n .chain((val) =>\n EitherAsync.sequence(\n val.transactions.map((tx) =>\n EitherAsync(() =>\n transactionConstruct(tx.id, {\n gasArgs: gasModeValue?.gasArgs,\n })\n ).mapLeft(() => new Error(\"Transaction construct error\"))\n )\n ).map((res) => ({\n stakeEnterRes: val,\n transactionConstructRes: res,\n }))\n );\n\n return result.caseOf({\n Left: (e) => Promise.reject(e),\n Right: (r) => Promise.resolve(r),\n });\n });\n};\n", "import {\n MutationFunction,\n MutationKey,\n UseMutationOptions,\n UseMutationResult,\n useIsMutating,\n useMutation,\n useQuery,\n} from \"@tanstack/react-query\";\nimport { queryClient } from \"../services/query-client\";\n\nexport const useSharedMutation = <\n TData = unknown,\n TError = unknown,\n TVariables = unknown,\n TContext = unknown\n>(\n mutationKey: MutationKey,\n mutationFn: MutationFunction<TData, TVariables>,\n options?: Omit<\n UseMutationOptions<TData, TError, TVariables, TContext>,\n \"mutationKey\" | \"mutationFn\"\n >\n): UseMutationResult<TData, TError, TVariables, TContext> => {\n const query = useQuery<TData, TError>(\n [\"CustomMutation\", mutationKey],\n async () => await Promise.resolve(false as unknown as TData),\n { retry: false, cacheTime: Infinity, staleTime: Infinity, enabled: false }\n );\n const queryError = useQuery<TError, TData>(\n [\"CustomMutationError\", mutationKey],\n async () => await Promise.resolve(false as unknown as TError),\n { retry: false, cacheTime: Infinity, staleTime: Infinity, enabled: false }\n );\n const mutation = useMutation<TData, TError, TVariables, TContext>(\n mutationKey,\n async (...params) => {\n queryClient.setQueryData([\"CustomMutationError\", mutationKey], false);\n return await mutationFn(...params);\n },\n {\n ...options,\n onSuccess: (data, variables, context) => {\n queryClient.setQueryData([\"CustomMutation\", mutationKey], data);\n if (options?.onSuccess) options.onSuccess(data, variables, context);\n },\n onError: (err, variables, context) => {\n queryClient.setQueryData([\"CustomMutationError\", mutationKey], err);\n if (options?.onError) options.onError(err, variables, context);\n },\n }\n );\n const isLoading = useIsMutating(mutationKey);\n\n // We need typecasting here due the ADT about the mutation result, and as we're using a data not related to the mutation result\n // The typescript can't infer the type correctly.\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n return {\n ...mutation,\n data: query.data,\n isLoading: !!isLoading,\n error: queryError.data,\n isError: !!queryError.data,\n } as UseMutationResult<TData, TError, TVariables, TContext>;\n};\n", "import { QueryClient } from \"@tanstack/react-query\";\nimport { AxiosError } from \"axios\";\nimport { config } from \"../config\";\n\nexport const queryClient = new QueryClient({\n defaultOptions: {\n queries: {\n cacheTime: config.queryClient.cacheTime,\n staleTime: config.queryClient.staleTime,\n retry: (failureCount, error) => {\n if (error instanceof AxiosError) {\n return !!(\n error.response?.status &&\n error.response.status >= 500 &&\n failureCount < 2\n );\n }\n\n return failureCount < 2;\n },\n refetchOnWindowFocus: false,\n },\n mutations: {\n retry: (failureCount, error) => {\n if (error instanceof AxiosError) {\n return !!(\n error.response?.status &&\n error.response.status >= 500 &&\n failureCount < 2\n );\n }\n\n return false;\n },\n },\n },\n});\n", "import { useTransactionGetGasForNetwork } from \"@stakekit/api-hooks\";\nimport { State } from \"../../state/types\";\n\nexport const useNetworkGas = (selectedStake: State[\"selectedStake\"]) => {\n const selectedStakeNetwork = selectedStake.mapOrDefault(\n (s) => s.token.network,\n \"\"\n );\n\n return useTransactionGetGasForNetwork(selectedStakeNetwork, {\n query: { enabled: !!selectedStakeNetwork },\n });\n};\n", "import { Maybe } from \"purify-ts\";\nimport { createContext, PropsWithChildren, useMemo, useContext } from \"react\";\nimport { useAppState } from \"./app-state\";\nimport { useAccountBalance } from \"../hooks\";\nimport { apyToPercentage } from \"../utils\";\nimport { yieldTypesMap } from \"../domain/types\";\n\nexport type DerivedAppState = {\n estimatedRewards: Maybe<{\n percentage: string;\n yearly: string;\n monthly: string;\n }>;\n yieldType: string;\n accountBalanceIsFetching: boolean;\n rewardToken: Maybe<{\n logoUri: string | null;\n symbol: string | null;\n providerName: string | null;\n }>;\n};\n\nconst DerivedAppStateContext = createContext<DerivedAppState | undefined>(\n undefined\n);\n\nexport const DerivedAppStateProvider = ({ children }: PropsWithChildren) => {\n const { selectedStake, stakeAmount } = useAppState();\n\n const accountBalance = useAccountBalance({ selectedStake });\n\n const yieldType = selectedStake\n .chainNullable((s) => yieldTypesMap[s.config.type])\n .mapOrDefault((y) => y.title, \"\");\n\n const estimatedRewards = useMemo(() => {\n return selectedStake.map((y) => ({\n percentage: apyToPercentage(y.apy),\n yearly: stakeAmount.mapOrDefault(\n (am) => am.times(y.apy).decimalPlaces(5).toString(),\n \"\"\n ),\n monthly: stakeAmount.mapOrDefault(\n (am) => am.times(y.apy).dividedBy(12).decimalPlaces(5).toString(),\n \"\"\n ),\n }));\n }, [selectedStake, stakeAmount]);\n\n const rewardToken = useMemo(\n () =>\n selectedStake\n .chain((ss) =>\n Maybe.fromNullable(ss.config.rewardTokens).chain((rt) =>\n Maybe.fromNullable(ss.metadata.provider).map((p) => ({ rt, p }))\n )\n )\n .map(({ p, rt }) => ({\n logoUri: p.logoURI ?? null,\n symbol: rt.map((t) => t.symbol).join(\", \") ?? null,\n providerName: p.name ?? null,\n })),\n [selectedStake]\n );\n\n const value = useMemo(\n () => ({\n estimatedRewards,\n yieldType,\n accountBalanceIsFetching: accountBalance.isFetching,\n rewardToken,\n }),\n [accountBalance.isFetching, estimatedRewards, rewardToken, yieldType]\n );\n\n return (\n <DerivedAppStateContext.Provider value={value}>\n {children}\n </DerivedAppStateContext.Provider>\n );\n};\n\nexport const useDerivedAppState = () => {\n const state = useContext(DerivedAppStateContext);\n if (state === undefined) {\n throw new Error(\"useState must be used within a StateProvider\");\n }\n return state;\n};\n", "import BigNumber from \"bignumber.js\";\n\nexport const formatTokenBalance = (amount: BigNumber, decimals: number) => {\n return amount.decimalPlaces(decimals).toString();\n};\n\nexport const apyToPercentage = (apy: number) => {\n return (apy * 100).toFixed(2);\n};\n\nconst colorsTuple = [\"#6B69D6\", \"#F1C40F\", \"#1ABC9C\", \"#E74C3C\"];\n\nexport const getBackgroundColor = (stringInput: string) => {\n const char = stringInput.charCodeAt(0);\n\n return colorsTuple[char % colorsTuple.length] ?? colorsTuple[0];\n};\n\nexport const isRNWebViewContext = () =>\n typeof window !== \"undefined\" && !!window.ReactNativeWebView;\n", "import { YieldType } from \"@stakekit/api-hooks\";\n\nexport const yieldTypesMap: {\n [key in YieldType]: { type: key; title: string };\n} = {\n staking: { type: \"staking\", title: \"Stake\" },\n \"liquid-staking\": { type: \"liquid-staking\", title: \"Liquid stake\" },\n vault: { type: \"vault\", title: \"Yearn\" },\n // Deposits: { type: \"Deposits\", title: \"Deposit\" },\n lending: { type: \"lending\", title: \"Lend\" },\n} as const;\n", "import { EitherAsync, Maybe } from \"purify-ts\";\nimport {\n BalancesRequestDto,\n BalanceResponseDto,\n tokenGetTokenBalances,\n getTokenGetTokenBalancesQueryKey,\n} from \"@stakekit/api-hooks\";\nimport { State } from \"../../state/types\";\nimport { useSKWallet } from \"../use-sk-wallet\";\nimport { useQuery } from \"@tanstack/react-query\";\n\nexport const useAccountBalance = ({\n selectedStake,\n}: {\n selectedStake: State[\"selectedStake\"];\n}) => {\n const { address, additionalAddresses } = useSKWallet();\n\n const balancesRequestDto = selectedStake\n .map((y) => ({\n network: y.token.network,\n tokenAddress: y.token.address,\n }))\n .chain((d) =>\n Maybe.fromNullable(address).map((a) => ({ ...d, address: a }))\n )\n .map<{ dto: BalancesRequestDto; enabled: boolean }>((n) => ({\n enabled: true,\n dto: {\n addresses: [\n {\n address: n.address,\n network: n.network,\n tokenAddress: n.tokenAddress,\n additionalAddresses: additionalAddresses ?? undefined,\n },\n ],\n },\n }))\n .extractNullable() ?? {\n dto: {\n addresses: [\n {\n address: \"\",\n network: \"ethereum\",\n tokenAddress: \"\",\n },\n ],\n },\n enabled: false,\n };\n\n return useQuery<BalanceResponseDto[], Error>(\n getTokenGetTokenBalancesQueryKey(balancesRequestDto.dto),\n async () => {\n const result = await EitherAsync(() =>\n tokenGetTokenBalances(balancesRequestDto.dto)\n ).mapLeft(() => new Error(\"Stake enter error\"));\n\n return result.caseOf({\n Left: (e) => Promise.reject(e),\n Right: (r) => Promise.resolve(r),\n });\n },\n { enabled: balancesRequestDto.enabled }\n );\n};\n", "import { useMemo } from \"react\";\nimport { config } from \"../../config\";\nimport { State } from \"../../state/types\";\nimport { usePrices } from \"./use-prices\";\nimport { PriceRequestDto } from \"@stakekit/api-hooks\";\nimport { getBaseToken } from \"../../domain\";\nimport { Token } from \"@stakekit/types\";\n\nexport const useSelectedStakePrice = ({\n selectedStake,\n}: {\n selectedStake: State[\"selectedStake\"];\n}) => {\n const priceRequestDto = useMemo((): PriceRequestDto | null => {\n return selectedStake\n .map((y) => {\n return {\n currency: config.currency,\n tokenList: [y.token, getBaseToken(y.token as Token)],\n };\n })\n .extractNullable();\n }, [selectedStake]);\n\n return usePrices(priceRequestDto);\n};\n", "import { Networks, Token } from \"@stakekit/types\";\nimport { Price, Prices, TokenString } from \"../domain/types\";\nimport {\n PriceResponseDto,\n TokenDto,\n Networks as NetworksDto,\n} from \"@stakekit/api-hooks\";\n\nexport const priceDtoToPrice = (priceDto: PriceResponseDto[string]): Price => ({\n price: priceDto.price,\n price24H: priceDto.price_24_h,\n});\n\nexport const priceResponseDtoToPrices = (\n priceResponseDto: PriceResponseDto\n): Prices => {\n return Object.keys(priceResponseDto).reduce<Prices>((acc, key) => {\n acc.set(key as TokenString, priceDtoToPrice(priceResponseDto[key]));\n\n return acc;\n }, new Map());\n};\n\nexport const networksToNetworksDto = (networks: Networks): NetworksDto => {\n return networks as NetworksDto;\n};\n\nexport const networksDtoToNetworks = (networks: NetworksDto): Networks => {\n return networks as Networks;\n};\n\nexport const tokenDtoToToken = (tokenDto: TokenDto): Token => ({\n ...tokenDto,\n network: networksDtoToNetworks(tokenDto.network),\n});\n\nexport const tokenToTokenDto = (token: Token): TokenDto => ({\n ...token,\n network: networksToNetworksDto(token.network),\n});\n", "import { priceResponseDtoToPrices } from \"../../utils/mappers\";\nimport { PriceRequestDto, useTokenGetTokenPrices } from \"@stakekit/api-hooks\";\n\nconst defaultParam: PriceRequestDto = {\n currency: \"USD\",\n tokenList: [\n { network: \"ethereum\", name: \"Ethereum\", symbol: \"ETH\", decimals: 18 },\n ],\n};\n\nexport const usePrices = (\n priceRequestDto: PriceRequestDto | null | undefined\n) => {\n const pricesState = useTokenGetTokenPrices(priceRequestDto ?? defaultParam, {\n query: {\n enabled: !!priceRequestDto,\n select: (data) => priceResponseDtoToPrices(data),\n },\n });\n\n return pricesState;\n};\n", "import 'src/style.css.ts.vanilla.css?source=LnN0eWxlX2NvbnRhaW5lcl9fMWVvdmUyYjAgewogIG92ZXJmbG93OiBoaWRkZW47CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIG1hcmdpbi1sZWZ0OiBhdXRvOwogIG1hcmdpbi1yaWdodDogYXV0bzsKICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAyMHB4OwogIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAyMHB4Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUyMHB4KSB7CiAgLnN0eWxlX2NvbnRhaW5lcl9fMWVvdmUyYjAgewogICAgaGVpZ2h0OiA2NzBweDsKICAgIHdpZHRoOiA0MDBweDsKICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7CiAgfQp9';\nexport var container = 'style_container__1eove2b0';", "import { useTranslation } from \"react-i18next\";\nimport { Box, Button, Heading, Text } from \"../../components\";\nimport { PageContainer } from \"../components\";\nimport { CheckCircleIcon } from \"../../components/atoms/icons/check-circle\";\nimport { useComplete } from \"./use-complete\";\nimport { TokenIcon } from \"../../components/atoms/token-icon\";\n\nexport const CompletePage = () => {\n const { t } = useTranslation();\n\n const {\n amount,\n network,\n token,\n metadata,\n rewardTokenDetails,\n onClick,\n onViewTransactionClick,\n } = useComplete();\n\n return (\n <PageContainer>\n <Box\n flex={1}\n display=\"flex\"\n flexDirection=\"column\"\n justifyContent=\"space-between\"\n >\n <Box\n flex={1}\n display=\"flex\"\n flexDirection=\"column\"\n justifyContent=\"center\"\n alignItems=\"center\"\n textAlign=\"center\"\n >\n {token && metadata && (\n <Box marginBottom=\"4\">\n <TokenIcon\n metadata={metadata}\n tokenLogoHw=\"32\"\n tokenNetworkLogoHw=\"8\"\n token={token}\n />\n </Box>\n )}\n <Heading variant={{ level: \"h3\" }}>\n {t(\"complete.successfully_staked\", {\n amount,\n tokenNetwork: network,\n })}\n </Heading>\n\n {rewardTokenDetails && (\n <Box display=\"flex\" marginTop=\"2\">\n {rewardTokenDetails.logoUri && (\n <Box\n hw=\"5\"\n as=\"img\"\n src={rewardTokenDetails.logoUri}\n marginRight=\"1\"\n />\n )}\n <Text variant={{ type: \"muted\", size: \"small\" }}>\n {t(\"complete.via\", {\n providerName: rewardTokenDetails.providerName,\n })}\n </Text>\n </Box>\n )}\n\n <Box\n marginTop=\"4\"\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n as=\"button\"\n onClick={onViewTransactionClick}\n >\n <Box\n marginRight=\"1\"\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n >\n <CheckCircleIcon width={22} height={22} />\n </Box>\n <Text variant={{ type: \"muted\", size: \"small\" }}>\n {t(\"complete.view_transaction\")}\n </Text>\n </Box>\n </Box>\n\n <Box display=\"flex\" alignItems=\"flex-end\">\n <Button onClick={onClick}>{t(\"shared.ok\")}</Button>\n </Box>\n </Box>\n </PageContainer>\n );\n};\n", "import classNames from \"classnames\";\n\nimport {\n AllHTMLAttributes,\n createElement,\n ElementType,\n forwardRef,\n PropsWithChildren,\n} from \"react\";\nimport { atoms, Atoms } from \"../../../styles\";\n\nexport type BoxProps = PropsWithChildren<\n Omit<\n AllHTMLAttributes<HTMLElement>,\n | \"className\"\n | \"content\"\n | \"height\"\n | \"translate\"\n | \"color\"\n | \"width\"\n | \"cursor\"\n > &\n Atoms & { as?: ElementType; className?: Parameters<typeof classNames>[0] }\n>;\n\nexport const Box = forwardRef<unknown, BoxProps>(\n ({ children, as = \"div\", className, ...props }, ref) => {\n const atomsProps: Record<string, unknown> = {};\n const nativeProps: Record<string, unknown> = {};\n\n Object.entries(props).forEach(([key, value]) => {\n if (atoms.properties.has(key as keyof Atoms)) {\n atomsProps[key] = value;\n } else {\n nativeProps[key] = value;\n }\n });\n\n return createElement(as, {\n className: classNames([atoms(atomsProps), className]),\n children,\n ref,\n ...nativeProps,\n });\n }\n);\n\nBox.displayName = \"Box\";\n", "import 'src/styles/theme/atoms.css.ts.vanilla.css?source=#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';\nimport 'src/components/atoms/button/styles.css.ts.vanilla.css?source=#H4sIAAAAAAAAE52V3W6DIBiGz70KDusBRpt0c/Zo19ALMCjfVlILBtCtW3bvU/zNVjbkTITnhYc30UjpWwUqryUo9czZlWgmeJ4nh4/9PoUYfQYIaUm4Yv1ENjy/CHlFcZQoBEQBZhyLRh+DryD6Jy4jpWYtLKl9UoZUSSrYxdFTGq5TikZrwU/9YI44GLYQkoLEb4zqc4aS+v24vDRwlykqRm1ppaiE7E7ZHVDe5uyH7CxakMMOpLy8StFwmqGWyB3G6oINhkcMD4HYMHhZH/ZnMSvdSDMVrgQ2sN21V4yD9dZsnqsa3EUHyMt0RP1UR9jNVUEpOF3bPrq1OoMevVpYR10L7e/r1u6vbbf0a4N9lTd1TJkiRQV0Vk7dKp44j4bvo46292FvV7d6f266pV0L66n7R7eqZpyDPA2jSbEwbrWY/jmk6D7mjYaO/AaVlYF9sAYAAA==';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var buttonStyle = _7a468({defaultClassName:'styles_buttonStyle__15z228e5 atoms_letterSpacing_tight__yv8y4r2k atoms_display_flex_mobile__yv8y4r30 atoms_justifyContent_center_mobile__yv8y4rg2 atoms_alignItems_center_mobile__yv8y4rfw atoms_gap_2__yv8y4rt atoms_borderRadius_primaryButton__yv8y4r1t atoms_width_full_mobile__yv8y4rj8 atoms_border_none__yv8y4rq atoms_fontSize_md_mobile__yv8y4r3a atoms_fontWeight_primaryButton__yv8y4ro atoms_minHeight_buttonMinHeight_mobile__yv8y4rmg',variantClassNames:{color:{primary:'styles_buttonStyle_color_primary__15z228e6 atoms_background_primaryButtonBackground_light__yv8y4rqa atoms_background_primaryButtonBackground_dark__yv8y4rqb atoms_color_primaryButtonColor_light__yv8y4rnm atoms_color_primaryButtonColor_dark__yv8y4rnn atoms_borderColor_primaryButtonOutline_light__yv8y4rsy atoms_borderColor_primaryButtonOutline_dark__yv8y4rsz atoms_borderRadius_primaryButton__yv8y4r1t atoms_fontWeight_primaryButton__yv8y4ro',secondary:'styles_buttonStyle_color_secondary__15z228e7 atoms_background_secondaryButtonBackground_light__yv8y4rqs atoms_background_secondaryButtonBackground_dark__yv8y4rqt atoms_color_secondaryButtonColor_light__yv8y4ro4 atoms_color_secondaryButtonColor_dark__yv8y4ro5 atoms_borderColor_secondaryButtonOutline_light__yv8y4rtg atoms_borderColor_secondaryButtonOutline_dark__yv8y4rth atoms_borderRadius_secondaryButton__yv8y4r1u atoms_fontWeight_secondaryButton__yv8y4rp',disabled:'styles_buttonStyle_color_disabled__15z228e8 atoms_background_disabledButtonBackground_light__yv8y4rra atoms_background_disabledButtonBackground_dark__yv8y4rrb atoms_color_disabledButtonColor_light__yv8y4rom atoms_color_disabledButtonColor_dark__yv8y4ron atoms_borderColor_disabledButtonOutline_light__yv8y4rty atoms_borderColor_disabledButtonOutline_dark__yv8y4rtz'},animation:{none:'styles_buttonStyle_animation_none__15z228e9',press:'styles_pressAnimation__15z228e0'}},defaultVariants:{color:'primary',animation:'press'},compoundVariants:[]});\nexport var pressAnimation = 'styles_pressAnimation__15z228e0';\nexport var spinnerStyles = 'styles_spinnerStyles__15z228eb';", "import 'src/styles/theme/atoms.css.ts.vanilla.css?source=#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';\nimport 'src/components/atoms/spinner/style.css.ts.vanilla.css?source=#H4sIAAAAAAAAE61T3U6DMBS+31M0S0xmIqawTRO8WWLiC/gAS4EDOxHa2hZlmr27bWFsLEyXxYtCe36+7/Q7p6s32OaKVaCJNtsS1koYZmC9jkAm9J2S7wkhIaU3fkOIUYzrXKgqJm3kbP5AMyhun6x7N9lNVqeAUmHzXKJ8wWaPGnqwHjO13kAys4mJFOW2EHy2tE677iihp6tjIiRaXgjgyx//9WDLS6s5TnefsV2P+nhNiR6LHv96vKNGXA1I+1bdtw3SEjkH9eoOet+ihaf5xMwRRAvZuKQNYLExh3MiVAYqUCzDWseO21ml0GhQcDshUDKDH+CsjGPFOrMfHBJqUiIHpgjyHDmaYVzA7RDF41M5DMxq1SGHeugxWCEvgrzmaRvQEg6DLHGbH6Si5vZ6h3L+0ChOwD4F8FKlghtw2dNpK00TaPyy7PFeJmsaysMSLcq6vTZyDTaZ/iZsZ+2aMh+E+jKtWqLE7LyMY2/xnJbRf2v5A8ds/KlrBAAA';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var spinnerStyles = _7a468({defaultClassName:'style_spinnerStyles__2epb0q4',variantClassNames:{color:{regular:'atoms_borderColor_accent_light__yv8y4rry atoms_borderColor_accent_dark__yv8y4rrz atoms_color_accent_light__yv8y4rmq atoms_color_accent_dark__yv8y4rmr',inverted:'atoms_borderColor_white_light__yv8y4rrq atoms_borderColor_white_dark__yv8y4rrr atoms_color_background_light__yv8y4rn0 atoms_color_background_dark__yv8y4rn1'}},defaultVariants:{color:'regular'},compoundVariants:[]});", "import { PropsWithChildren } from \"react\";\nimport { SpinnerVariants, spinnerStyles } from \"./style.css\";\n\nexport const Spinner = ({\n variant,\n}: PropsWithChildren<{ variant?: SpinnerVariants }>) => (\n <span className={spinnerStyles(variant)} />\n);\n", "import { PropsWithChildren } from \"react\";\nimport { buttonStyle, ButtonVariants } from \"./styles.css\";\nimport { Spinner } from \"../spinner\";\n\ntype Props = PropsWithChildren<{\n variant?: ButtonVariants;\n isLoading?: boolean;\n}> &\n JSX.IntrinsicElements[\"button\"];\n\nexport const Button = ({ children, variant, isLoading, ...rest }: Props) => (\n <button className={buttonStyle(variant)} {...rest}>\n {isLoading && <Spinner />}\n {children}\n </button>\n);\n", "import { Box, BoxProps } from \"../box\";\n\ntype Props = BoxProps;\n\nexport const Divider = (props: Props) => {\n return (\n <Box height=\"px\" width=\"full\" background=\"backgroundMuted\" {...props} />\n );\n};\n", "import classNames from \"classnames\";\nimport { PropsWithChildren } from \"react\";\nimport { textStyles, TextVariants } from \"./styles.css\";\nimport { Box } from \"../box\";\nimport { BoxProps } from \"../box\";\n\ntype Props = PropsWithChildren<{ variant?: TextVariants }> & BoxProps;\n\nexport const Text = ({ children, variant, className, ...rest }: Props) => {\n return (\n <Box\n as=\"p\"\n className={classNames(className, textStyles(variant))}\n {...rest}\n >\n {children}\n </Box>\n );\n};\n", "import 'src/styles/theme/atoms.css.ts.vanilla.css?source=#H4sIAAAAAAAAE7WdSY/jzJGG7/4VdbQPZZQoauu5jD/70AY8GMDfAL4M0KBISmJpLS21DfzfRyJFihnry27VpQ9dzCeSmZERL7OyIv+cHLfrw4/d9lAci+3mxz5fJcfiNf/x4+N1/BHvnx7+7w8PD/WPvz3UP/+PP/z7D38mbZPpYbs6HZu2PdK2/rnU9nAs0uVH3TIiLaufttptd0laHD9+PNUt+mWL639/e3iSnv3fP/fqx2Py+J97coNB3WBAGwyEBg1+GD7dhn/+fZPl7z8WRdaM06h8+vOxuPzk28Nrsv/j4+Nh+Vj+T5Hmh8fL03/ikOR03NaQsQu5PC1Apsmh6cnEhVyeFiDZNl3mWY1JXEz1vATab3fZ9m1To6Y+6tpCgIVOlbqo6nlxjDabfF+DMmCULs8LoO1rvl8lTZdyl3RtIKDW2yxZ1aCZCyofl8ZoWez+UWyWNWnuj9K5xePq3KRNm203x3/lxXxx/LHZ7te3ni1K3uXHj2/lz1vM1v8+Vq0U5DrPitO6RhYgsmqlIA/5uphuV43PPoPQup2CbSOXINLA5e/HfdJmrkBm01Ab0Ys7fM+TrNjMa/YaHddL28dF1VjhH7fLfPN7vsrTY43fgPiy6XmcL20V+m5frJP9x2+n43HbhIotyL82fpyWrVX3SLebjNnYwV5ybS5YmW732TmYbLabJu6+lNjqB98eLj9pPT9Pdrc8ty+fPP9Xy/DhnGfyx6c/kTZNNjqobXq0TVS3OaptItqmX7c5qW36tE1ct3lV28S0TZOL39Q2A9pmWLd5V9sMaZtR3eZDbTOibcZ1m0+1zZi2mTQ66UltNGGT2nhCr6dPK/eFZmJ7kd6MTW2vmadeX2/GZqrXDHsv1puxgY9u7zbQ3Y+9W3Tr5FBvxjoZNXPWG+nN2Kz1byM51v2dL5LbkEz0ZmxI4tuQJPpKYUMS34ZkqjdjQxLfhiTVm7EhmZ1WTbrvZWrDy2O06WlzyJsE0cvVtuVztHFb/vZmaluqey9Nd+9Nw7nacPdOm1XB/L+KzfcqS9SMhcqoWjyui805YV7a8Ezwz3MePR2CfNArWgnhcV8+0EIH//94aahSD41q6j13YB7WKrH9vdBbdmDST4eAum4UTm/VgbnOVOKq0TW9dQfiaq4S329evulAfF+pxKiF3HZARgaz32LuOjD7BjNY4S8doHTNB9RFspo11H0H6qWhSn0rsnl+/K39X7WNQwcbFSb8T9WmqEd7xw7mdFEaLmdZlvZOXda2oU2P5++Gv6yK+ebHKp/d4lul0i4/fEwuP/32cPmx2C7NN8fbp3LvjbWsHhDb7oOg+s6alj9v6/XV+QO2kbm9Sq9d/jPccikfu6Xtz9ZjEX2sEbPRU+uxPn2sya9Rr/VYTB9rJGsUtR5rbx2dv6Pz7/V38y0BRJXcuvz0mjda09n6Xxb8W7zDYrtvTUUUg8hrO4vaMAddmAqxnVCiIQikyaTFOya3YBWNQN6lkcFrDeO4A1EdxfcmKEUTkPd+0GakSfFRgk7HWmHd0nA0BVlhCm6xbgk4SkFWmHzb43Wb0QwdL20+W0k3ykFYpNJa6TaagbS+SotbtDlIi1XaoEVbgLSBShu2aAVIGxJafjxHlt8v++Kb+Y/j5ZHWyqoEavVMKZ/PD7W5wQ8er60dfANfdofr6HCLM1p1YvOdzhD+1vrVQLTuhH4jvyfg4NtobzqTjbG+/PhwG+xtZ/ZB+DD6V5EdF8FvYaJA0L5dfl7+Lmb3rjRuxEH0IrTsqe0atRDthXaR2u4mHw5Cu77Q7vfjxyr/cdiuilvoDYTj4fLAt4fyiVbrrDjsLr9JmK626fLHejstVjevqeTg9ZFvD+UzQttic1mrtPFb2Lh6SG39KHbgQ2I8av0otVJI6D+FhMsjeh8kQCR2QeGU2osA4hBAdmUvu72/F5/5JZWThsPbJvHh/ATdIr78H8nmDeycywlsDMAO7JccJeyczAksAWBr9iuDEnbO5gSWArAV+/3AFcamK4do7yLunJgIbY5MAfttUwmLOK0AaJGC63PcEsD1FVzMcWsAFyu4AcdtAdxAwQ057gXAEZVw/hCeF5v/2V5+7UFoVVStHng8bp3fgtxAPQo6eaCeDIoo6M0DRTKoT0EfHqgvg2ICip88UCyDBhQUeaCBDBpSUOyBhjJoREFDDzSSQWMKGnugsQyaUFDigSaKQ1LXjlPXIzXfpj4Z5y5Kccoec6a5i1K8qce8oHBRihtEbKyW7qJTxipiL7h2UcoLRsypti5K8ao+m8EXNxhoYYUNuxsy+8qwx2zY3aAZK8Mes2F3w2asDHvMht0NnLEy7OWudggbuMGT7mjfcNXvsgjPjaHsN1s3YPn7LcJzQyn9bdcNt6Oaa+CG0/A3YDcU/T0Y4brR1fytWNXut+35kTVTAIMg4E7LhxARcMVRHTBIAZwgBa44um4HOYATVu4VRzXBYA7gBFlwxdFFNygAnLDsrjiqDwZLACdIhCuOBqrBGsAJoeqKo1phsAVwgly44miUGbwAOCHOXHFUNwwOAE6QDrUbs2VxQvzYWBfMk98QoO7KTEkMPhCg7n1MTwyfEKDuMExVDCNk8epjyLTFMEaA+iszhTEcIkDdC5nOGI6RAGMELDYpSHiWBEcdstikIAFakh01kE0KEqIl8VED2aQgQVqSIFegoEKGSKCWhcgVKmmRIRKvFTlyxQqKZIiEbVmUXKFMlwyR0C1JkyvQVidDJJIDAuWfJZv5axDY9+RXI6o8qWBUnQxPPkwQJxWMrfU3Hyas9ApGlcnww4cJwqSC0SU5evJhwoKsYFSVjCIfJoiSCkbD2Sj2YUIwq2BUkYyGPkwQJBWMRp3R2IcJMaeCUTUySnyYIEauTkuXwCgFvFZfA9RvRzmAUx2X6ZDRHMCp3sZUyKgAcKqLMA0yWgKLVB07pkBGawCnvizTH6MtgFO9jqmP0QsQRPSQxKYCCL2S9LgGJTYVQPCVhMcVx6YCCL+S7Lji2FQAAVgSHRVO0BxjIAjLkqNCSopjDMRiRXBUUEFvjIGQLMuNCsnUxhgIy5LYqHC21hgDURqQGv+4nMWj/jkOgvblPB4iNEoU1Rnj1EUJMqNE0TU9zl2UsKJLFNUY47mLEiRGiaKLb1y4KGHplSiqL8ZLFyXIixJFA9Z47aKEcFWiqLYYb12UIC1KFI0s4xcXJcSVEkV1xfjgogRZUbkoc/eT76OqvzMvffNhmpsyRTH+8GGadzE9MXnyYZpTMDUxifzFqI0Z0xKT2Idpr8mUxGTowzQvYzpiMvYDhRp02AT4YVUSEVXYYRPgB1ZJQlQwNgF+aJUERAVjE+AHV0k+lDBBPUz8ACuLhxIoaYeJH2cV6VAiBeUw8cOtLBxKINMNEz/kSrKhhNmqYeJHYFM07JLs8pe50gGKSRWRr0/4JyhaKCoaJicX1VNQbAG/uahIQVHRMPlwUX0FRddb8uSiYgVFRUMSuaiBgqLxKYld1FBBUdGQDF3USEHRcJKMXdRYQVHRkCQuaqK5KHX3JPV9VPV36qVJ7sM0N2WiIZn7MM27mGhICh+mOQUTDcnSX4zamDHRkKx9mPaaTDQkWx+meRkTDcmLHyjUoMMmwA+rfW0CmGhI/MAaaxPAREPih9ZYmwAmGhI/uMbaBAiiYeoHWCoaWkBJNEz9OMtEQwspiIapH26paGgBmWiY+iE3FA0tmC0apn4ERkSDcuxiGgZl5NxFCKTqYZoiQElAKEcvpjkClFa0cvhiOkeAkphQjl9MCwQoLUblAMZ0iQAlYaEcwZiuEaAUyJRDGNMtApREhnIMY/qCAKUYpBzEmB4QoCQ4tKMY0xPk2dZaYb79BiEN52b6Y/oBIQ1vZCokfYKQhvswLZJG0KI2xpIpkjSGkMaLM12SDiGk4ZVMnaRjKPhY4YxNDxTCRZmiHc5IoSAuihXteEYKhXFRsmgHNFIokIvCRT+ikULBXJEvxiGNFIrpmojRj2mkUGhXpIx2UCOFwrsoaKCjGikU7RFZIx/WSMPgD5zWCHBU06QnACdJGvnARvoG4KQIIB/ZSD8AnCRn5EMb2ROAk5apfGwjiwCcJGXkgxtZDOCkUCcf3ciGAE6SMfLhjWwM4KR4JB/fyBIAJ0kY5QBHliJ+bKwL6slZjgB1V2bqJZsjQN37mHbJCgSoOwxTLtkSWbz6GDLdkq0RoP7KTLVkWwSoeyHTLNkLEmCMgMUmBQnPomBRjnRkSIAW5YpyqCNDQrQoVpRjHRkSpEWpoh7syJFArQgV/WhHjsRrTaaohztyJGwrIkU53pEjoVuUKMgBjxyJ5IhAEY945GFg9894tGFUneSpD5PEiXjMI899mLTSxYMe+dyHScJEPOqRFz5MWpDiYY986cMkUSIe98jXPkwKZuKBj3zrwyRBIh75yF98mBRzxEMf+cGHSWJEPvaRnwCv1dcA89s3AKc6LtMh+QeAU72NqZDZE4BTXYRpkFkELFJ17JgCmcUATn1Zpj9mQwCneh1TH7MxEET0kMSmAgi9ovSQD4LMgOArCg/5KMgMCL+i7JAPg8yAACyKDu04yAwIworkUA+EzIBYrAkO7UjIDAjJityQD4XMgLAsig3gWMgMiNKm1CirKP79mK+r6oSPh2OyZ0aq6F0++lhcnq1q71QPG7B8Q6vNzE4K6vyoDLrWjiSYN45hNSSfT4djMfv46/b8/5uj8XpVwL4+/phWzyuvKEH5a86fDGT4qgQovu48knHeK1/nPz++5fmGMmOZGbRpoS9d/1txVozVlTDbN8q7Vji6vGFWP/ft4fygCkm3q9Oa9Wsscqpnrf487vPXfH+gJZvmidavuoHTP42bGv1U0P/aJ7sfb5d/CCu/sS4//vZw+VdqvNlKzee0efVYC1AtfPYxMa9iMivXJ3xGXAn0C2K+tAg9gUCT9HxtESKBQL8V5luL0BcINHfOXyxCLBDoV8H8YBEGAoGqi/nJIgwFAtX/8zeLMBIINOnPPyzCWCBQpb94sggTyaOoUy4i06VEr6ROtYhNhuRVTMgvhiZD8gqm3hdjkyHNKpPsi8RcINJ4MJ2+SE2G9C5MnC9ykyF5B1Pki7m5VMXVzsbUDFp9aUyZ9l6YYSuWxpQJ7oUZuGJpTJnKXpihK5bGVJDWCzN8UVF95Uh6emFGMaakryRBRC/MYEbl85XDlPPCDGihZr4ybLm8MOObKZTfqsKjBFhU4e5ay9PKn2/X2qOkfWS07/H2dD0VsdE+4u1p6iyGRvs+b0/XQDE22se8PU2bRWK0H/D2NBYUqdF+yNvTlFnkRvsRb0/XbzE32o95e5oui8JoPxH8hzng0nIgyQOZC60tguBDLFEWW4sgeAFLk8WLRRDmkSXJ4mAtBGEcWIosThZBeAuWIIs3iyB4A0uPxYe1HKX1TEfy2QpIfWEkWWp8tkJSLIwkS4zPVlCKhZFkafHZCkuxMJJCUny2QhPNiRVFSonPVoRiGbHiCAnx2QpUNB9WFJYOn61gFWbDimAnw2crdtl/gVxs/iWmw+frn3ydWwEpscHQrPi8dDA9EUNX0/PawUQihubI562D6YsYtipeHEwsYmjGfD44mIGIYXHi5GCGIobmz+c3BzMSMWy9fziYsYih2XT55GAmsvtRN15Gnv8pfkw9cBl7INkFWYpdDj2Q7D0s0y7HHkieeJZwl4m3uOQxYnl3mXog+dVY+l3mHkj2IpaFl3NvwSuBgw22Fw778mCznLz0AmIsDzZLzUsvJMbyYLMMvfSCYiwPtpCol15gZH8lXMOkfL304iP/C+EaJ6TtpRcm2V8H1zCWvZdeqCR/GVyD7CS+9CKnl8i/yzvDq1soRXaHbyCay1eRB6LJvL6Sh4JiD0RXZX0bDwUNPRBN6PVFPBQ09kB0MdV38FBQ4oFoUq+v36Gg1APRgPNd3kpe5R6IJvbv8o7yau6BaJz4Lm8srwoPRJN77ZDMtZeuR2q+zXxy7aIUp2QZfrV1UYo3sRy/enFRihuwLL86uItOGSuW51cnF6W8IMv0qzcXpXgVy/WrDzcYaGGFDvvaDZks3deBhQ772g2aLOHXKDrsazdsspRfo+iwr93AyZL+d3XPeu0GTyHtf9e3rtduDJUS/3d1B3vthlIh9X9XNrLXbjhlyb++CNHM/ms3usrp/z/XeVYkD4d0n+ebh2STPfyxpSAG0dO5OyX52p/wYqljMl3dbmiOqotA+dVSDw//5oTr9VIE8U4R9QVTBuNR7MynTHq0+lTeFBVy+j3KqS6JsvojYfpKdwxaee0UwQwoprp4KmjfvnyKNB9dmwPXT8nIw5oiJxCyvIRKRq4zipxCyPIqKhm5mlNkBiHLC6k0JJvSGch8V6HvK8pcYBO0UpERZz5DzMiA9jl0BUH7BjTm0A0EjQ3ogEN3EHRgQIccuoegQw6t6jZV1ZcI83hlXks7aeWXFFyP4l59XE/HRRT37uMiHdenuE8f19dxMcHFPR8X67gBxfV93EDHDSlu4OOGOm5EcSMfN9JxY4qb+LixjptQ3NTHTQw3pssizgA/ttYF9eR4BgANV+4x51sAQMP7esxfngGg4TARG8MVsHiNMYzYK28AoPHKEXPCHQA0vLDPZnkPBBgrYLFJAcJz35iUmE0KEKBjY1JiNilAiI6NSYnZpABBOjYmpfzYC5EDIFBfP/cUaPXJR6hAvK4/+hRs+eFHqEDYvn76KdAd1YwDIHTvmF68AelHIKEDkVz6DBSMNZWeiAUS3I1STzqUKpVBBkEVsdJUfCLQGQRVIkBT9YlAFxBUES5N5ScCfYagysJtqj8R6AqCKiKmqQBFoBsIqgTBpgoUge4gqCJomkpQBLqHoErsaqpBEegRgiri5lYRilBfMe931hTz/3cMay8ApnUGnxjW9lameIY9DGu7FtM9wz4WBOyxZepnOMCw9iAwDTQcYVjba5kSGk6woOWEQjZlWCrQJNGtahTBYslAE0a3ylEEi6UDTR7dqkcRLJYQNJHUriBFwFhS0KVSUEWKsLHcYAimdiUpwsZShC6bbtWkCBhLE5p4UipKERtY1gAlVF1VitggSUQvK6UiqX4aviJIRT7V1aUI8h1BKhGjrjBFkJ8IUpFOdZWpEDnqIUhlSdeVpgiyjyAV2VRXmyLIAYJUwmRdcYogRwhSkUx11SmCnCBIJY7VlacIcoogFbnUVJ8izAzydXv9UG8fzSCo6e5MKY0WENT0TqaTRs8Q1HQmppJGK2ixm2PKNNJoA0HN12cKabSDoKaXMn002kOByQ52bKKgMK+Jo6ZCFYFCgV6TRk2VKgKFQr0mjJpKVQQKBXtNFrWqVYXYMRTwdVHUrlhFyFDcNyRRq2oVIUPhXxdETeUqgoVSgCaH5OpVxAKUEUAxdK1gRSyQBKGWsNKAVAmNMwCoCKFrJSsCnAFAJTJcq1kR4AIAKiLoWtGKAJ8BoLJ4r1WtCHAFABUBdK1sRYAbAKgEwmt1KwLcAUBF/FwrXBHgHgAqsepa5YoAjwBQET51pStCfEU821wrzLffEaTl3EzzjD8RpOWNTPFMegjSch+mdyZ9ZFFbY8nUzmSAIK0XZ1pnMkKQllcypTOZIMHHDGdsepAQrsmcuhoWQSJBXBM5dUUsgkTCuCZx6qpYBIkEck3g3CpjESgSzHV506qORbhITDfEza1CFuEioV2XNnWVLAJFwrsmbMRKWYSPRHtX1lwLbUkHeSZ19K+LcUEneVpAKmsmrwCQyZoWkAWCdwDI4kALSGXN5BMAMlnTAtIVm/QAIFuwLSCVNUkfADJZ0wLSyJcMACALfC0glTXJCAAyWdMC0hCVTAAgi1AtIJU1yRQAMlnTdmy6VJIM8WxzrVDfTmYI0nJuJmuSBYK0vJHJmuQZQVruw2RNskIWtTWWTNYkGwRpvTiTNckOQVpeyWRNskeCjxnO2PQgIZzLmnZAY9ODBHEua9pINj1IGOeypo1k04MEci5rWkhB1kyRYC7JmhZWkjVTJKaLsqYFFmTNFAntkqxpYZmsmSLhncuaFtKWNVMk2qOyRjn+M6UJAD3/E2KpvpnSLICeAAqxNC5MaSZAzwCFWKp1pjQboKeAQixdzFOaEdBzQCGW6p4pzQroSaAQSwPklGYG9CxQiKUaaEqzA3oaKMTSqDalGQI9DxRiqR6a0iyBnggiy4EtM5oq4DNBBMxWBE0Y8KkgAmbOS9MGfC6IgKmfpTR1wCeDSGygY5zS3AGfDSJgOhQpTR7w6SACpk6c0gQCnw8i8Yx6RUozB3xCiIDZ5IHpQhVS2iGhFEwYqpzSjgmlYMpQRZV2UCgFk4YqrfSjQimYOAyBZRwWSsH8Ycks/bhQCqYRQ2xpB4ZSMJWokgs6MpSCmQUVXvKhoZQmGvDUUAClqiulWQY8NxRAWSyhGQY8ORRAqeJKaXYBzw4FULrUM5pZwNNDAZSqrYxmFfD8UAClYTSjGQU8QRRAqdLKaDYBzxAFUBrlMppJwFNEAZSqrIxmEfAcUej8dEllNIWgJ4lCLPX/jCYQ9CxRiGXOStMHepooxDLPoqkDPU8UxgA2tjRnoCeKQiwbBJos0DNFIZY5LU0U6KmiMGYxT6CZAT1XFGLZlGGpQJVUytGiDEsGqqBSDhdlWDpQ5ZRyvCjDEoIqptQDRjmWFAwppR8xyrHcYAkp9ZBRjqUIQ0Ypx4xyLE2oIgo5aJRjWQOVUOJRo5wmEeysURtJ9VNOMwh22qiNpDEjp9kDO2/URlLtlNPMgZ04aiPpos5p1sDOHLWRVDflNGNgp47aSBooc5otsHNHbSTVTDnNFNjJozaSRrKcZgns7FEbSfVSTjMEdvoocHW2fGh6AM8fBVDm7TQ5gCeQAihzTpoawDNIAZT60oymBfAUUrDW6ZjOaD4AzyEFUPr6M5oIwJNIAZQ66YwmAfAsUhCX6OzPaNQHTyMFUDZRUJhXxZF8IGkGBXpVGslHkmZQqFeFkXwoaQYFe1UWaceSZlDAN0SRejBpBsV9SxJpR5NmUPg3BJF8OGkGpQBVDgHHk2ZQRnDFkHydHzFVZwr1Qj8TebntjgBfVWB5152Gu951R2DvEqy+6S5A6Rf8EWSdHMwr/lw0f/F5zwTzl5cv+yPQvgZFBuHqJ9cr/wh5oJGDVsQAv/iPUJvqctLVfwbqev0foU0UWn0BoN235rI+Qp3qfbzd1ef2VaNnZp8NA7cLAQlx1ia2rwSUEddrAQlkwSH1xYABprkckLSv479RAFri0C+m+crmsG+l5qJAwtnYHKYZmusCCWdnc9hXUXNpIOHsbQ5L4s3VgYRztDns+6e5QJBwXm0Okz/NNYKE825z2JdOc5kg4XzaHKZHmisFQ86iZ3PYN83tYkEC6juOqHo0dcXFwCFpvsg+XBYjh6R5EftaWUwckjb/7BNlMXUWmjZO7LtkkTkk7e3Yx8hi5pA0b2JfIIuFs/zVOMJG3AmQ/IPjdh0hITkhkn9l3C4lJCQnSPJPi9vVhITkhEn+PdG+oJCwnFApfUQE1xQSnBMxxS+H9mWFBOcETulz4XZlIWE5wZN/IygXFxKsE0vdD4P6+sIQW9ShVb+tSaDQBF/0TQrL7/VVhoQyMClsVdYXGhLKyKSw3F5fa0goE5PC1lB9uSGhTE0Ky+v1FYeEkpkUFmPqiw4JZWZSWE6vrzsklIVJYRGhvvSQUJ5NCsvnzdWHBLOy3U7zXuZ4G5ujeB5L5cXO5ihewxJ5sbc5yoyzNF4c7QWljA9L4sWrzVHei6Xw4t3mKN7DEnjxaS9xLVLQcX62gx/P3s2FiYRjhz+eu5trEwnHDoA8czeXJxKOHQJ53m5doUhIdhiUsnb7IkUCs6OhmLNb1ykSmB0UpYzdXKpISHZg5PlavlqRQO046VdPuF2wSMDNn4oW1hWLMozm7eeVC+NVE26XLRLYxoXxPzG+XblIYDsXxqsl3C5eJLC9C+N/A3y7fpHAji6MV0m4XcJIYK8ujP8N9e0qRgJ7d2G8OsLtQkYC+3Rh/I+cb9cyhrBlz4XxqgityxkJre97rbEGqN8uBz5Od1wmApYjH6d7G9MCy4mP012ESYLl1F+k+tgxZbDMfJz+skwgLGc+Tvc6phOWCz+IGCGJTYUfeoWKB60rHQnOD75CtYPWxY4E54dfodJB63pHgvMDsFDlILjkkQD9ICxWOAiveiRMPxbL1Q2CCx8J0w/JYmWD1rWPBOiHZaGqgXb5I2H7URqRGs0VkCF91Q7b6O8A2hdBElzfx0lyo7kOkuAGPk5a3c2lkAQ38nGS5GiuhiS4iY+TlmNzQSTBTX2cJDuaayIJLvNxUihrLoskuJmPk6RHc2UkwS18nBR7mosjCe7Zx0ny43Z9JOGtAD+21gXz5A0ANFyZaZDVDgAa3sdUyGoPAA2HYTpkdQQWrzGGTImsXgGg8cpMi6zeAaDhhUyNrD6BAGMFLDopayA8i4LkdukkAQIBWpQkt6snCRAI0aIouV1ASYBAkBZlSfsaSoIEArUiTILLKAkViNeaNGlfSUmoQNhWxMntYkqCBEK3KE+U6ykJHYjkmkBpLqn8426fz/L94THdrrb7x0O6yNf5t4dV+WzJv/aq/PmPt0VxzH+UP226UVy7UT7R6kFFLFvQV6xg01WSLglsacLKFjLsuE8253feX47phMi1iWy1k8G7fbFO9h8EujWh1zYyMElT3skXk1c1kXFZcbi4RUaABxNYN1LGMn+n/TvZg3huoKP+63Rk3XtzeY/rSzOd+rdkM8/3BPvhY7OyneKRZ/ea77enDenu5sl2y6aZhxWGYhOBbHNAtst883u+ytPjb9o7xPbYXAiPhxLhvlDL3Pfta75XbQ5xm4sLqItlYmoMm5LJh2OyzH+vDpep75OYRkrE2UjJcF9ltz0UlwcPzOhfy5+HllM74NQswXr1CNiH7T7L95L9vKv9ktTF9t+K10IxPu9oPKtQlvX1NktW/312uVXyoU63ndpKxOO2YrjTXT792zbTrdm5r7I2PQN8z6rSz29l8pfG006J1+a1eLCmsG1IfS8oV9bWOr3bf5+O5YXXoT07lxJ72woBGCsjnTSadqol9qowh46pHV3tpCwa7jS8pXV5jO38LZrGR/ov51X8mktDbed3YjYpMfBYV1a1wd7aEkA23Wm0K/vicG9tjSAbN8f7HCm3m8wKEltbLzQAIEwQY+oQ22qBWfRGl5iVR9aWDcxml0HVAsbWURHUphsyJLvqINtCQjHecaj1wLG1dYRivsuoq8Fja6sIZtoPH6JldeBtMaGZ7zjyVhCx9YXWAXPs6+9IPYrYUqNuDwSR0JQ6yrbYoPa80Q2NysNqyw1qscNwqvED+7aHw4dgVR1eW3LIprsNshE7bNEhG+8w3nrksGUHNewHDsmuNuQ7W3goxruNuRE1drb0UMwro97aXxF2Ene14rg9hm0ntrDCnuJu6GPFjcUWVt1d3I19uLHF2DIh7jPuEh+vbDa20NKO4y71yfK2Ywss7z3uch+tbUC2x5ztQu7mwGALW5EEKmzC7QqMLO/BEb60M7lbggbk7cm2h2txYg24uRoVRAPSQG27WPGHy9+33L0AI4dtXsqGzYS3O3S07qU8uQ/E6KmbUcMGsqu5e/PNoVub7YDWZX9z9wEEus6bnFZvtJ3Ol6ef6omx3Wn0Qt/zfIl+phvmxmerH8ju5wuQjtEtUGra2gd9AfI1tBnKk6v6mfICpHFkW1Qzqb4rnt/9TxbNuKjrXoD8j22Vama1z5cXQB7gm6amdXXYASHRcfvU7Ic8A4Dm6LKRqvVA/ax5ATRJhy1V2746FYBs6bq5avdEngxA13TaZm3nYHev9QXQONiGq25WnQBA4XTYetU7II87IHXQTVjdtBqKEOXTYTvW6YE6BYD46bwx6/RFnI09oH26bdHqvVDD0h5QPp02a70+aNOyBwRQ921brzfyxACaqOMGrvAZr8anPSCPoK1c1ag6B4BAwjd1VfPyoAMSCdzeVQ1rkWnfYQ+lW2DqsNu7B2RS1y1fuyfyPABCqdPmr9oHPSYBUqnLNrDTA3VCALHUeUPY6Ys8JYBc6rg13PoeF/aG941Can1og7vDLbKwPbw/IGR5g7hFVneI9yeEb+0Rt6yIm8T7N8SCtk3cokv7xPsPBK7sFLfY8lbx4Qmhq5vF7fFnu8WHCBp4ab+YcIV90EOMwpU9UGJC2jM+DGEbyq5x2/OVkHIYQ+6vRw/RhjRiSTdDwLj5m8eHFBpCcPtYtm2m0EPeuQNuBpW7QezOu9q1zCC7yIcCsQjvI7eDXpeN5MMSCobdt5KtDml7yYf1T3bG2k02OqJvJx+2P9cTe0O51RVkR/kAJXF4T5latzaVD1CWx7aVeT5WP5wOUPKHdpY1q+obd1EFwKeTZl/UhwdINYD7y5pl7dvpCImKDlvMZge08T9C8qPrLrPZFXEqjpBS6bTRrHVC/Xw6Qkqmy16z3QV1TiCx03m72e6MPCuQGuq249xO2O6W8xFSRuCms25ZnQlIF3XZd9b7IE8AJJDgrWfduhqlML3UZffZ6YQ6F5Bk6r4B7XRHnhZIMXXcg9Y7okcsSC9124b2uqHODySbfmIn2uuQPEOQkuq6GS3sFOihCxJV2H60aledDEhWddiSVnsgjz4krNBdadW2FrROnfZrOsasDjvTJ0hcdd6btjsjTsgJklfdtqfVbqjh6gQJrE471E4n1JmBJFb3TWqnO/LcQCIL2qf2CiacQ91SrZdw+WHdp3VdMKfDDnbFqvauA9bKZIHVEgLixiTCxRIC5s5kIrUSAtzexEGlEgLe0eQBlRIC2qs9gEChhAD37uLAOgkB9dOngmUS2thNz3ZHdXFTKh+HTR9Edy+SEJgZ2ANzpxoJgckRbrJ7iYTA0gS2pPypmbwLHNiYmjbuWyAhMJzZQeYL6iME5mddzf9aeYTA9qKj7Z+vjhCYtRPZrxdHCIzZme7XaiMEhuwE+OulEQJjUGb8pcoIgTk7c96jMEJgzk6sd62LENi1U/CdyyIElu1sfceqCIFVO5vfuShC2/LWTvh3r4kQ2LYVwb1KIgQmbXVwn4oIgUFbG9yrIEJg0hYJ96qHEJh0NMO9yyEEtm3Z8AXVEALrtmq4czGEwLKtGb6gFkJg3ZYOX1IKIbBvq4m7VUIIbNrC4h6FEAJztrS4Tx2EwKAtLu5TBiEwiH2336kKQmDZFhh3L4IQ2LYlxl1rIAR2bZFx9xIIbds7W2Z8QQWEwLotNH6xAEJgqdYXxqFarP5BQB351C7lDwL2xGd3q34Q0Kc+HS5+EIAzH4zXPgjIM5+Mlj4IuAtgoNHKBwH4GQN3KXwQ8Fcgv0vdg8DABnBv5Oy7tf2423Ux8pNVDwKDe2DY7ln0IDB+7Gj8J2seBDZfu9m0/qrK36bcvfvWvqDiQdCFTyC4fVXBg3ZHXno/1ZE71DsIetH/mV78YrmDoANA8r1TtYPALJCd71DsIDAJJO071ToIzOLZ/NdLHQSGgWx/t0oHgWFADNy/0EHQA0A2fEWdg6APgMK4d5mDwD6gQL6iykHQB0CkfE2Rg6AXgIq5a42DwDigaO5Y4iAwDeiZu1Y4CIwDwuauBQ4C44jO+ZL6BkEvAKnzVeUN2v3YA0rnK6obBH0AdM5XFTcI+gHIna+rbRD0BFBA9y1tEFgHxNDdKhsEhgE5dMfCBoFpQBDdsa5BYLrD/sg9yxoEfQBE0ddUNQh6Acii+xc1CHoACKOvqWkQ9AKQRl9V0iDoByCOfrWiQWCv0UN3KGgQgI8IuFM9gwD/iuA7ljMIDLwjBvBqBgH7E2F3KGbQhh96CByuZRCg+9Cgw6UMAvYAZXeqZBCYGMEmOhUyCGxMILfXQ4ZRxyCwM+1m52fLGAQ2M2j87lrFILA/62z/Z4sYBGYXXc2af+HkbwsfnhGDX1HCIOjFCgqAX1bBIOjL5if7co8CBkFHdj/XkV+tXxD0AUrZ9ypfEFiGcvo9qhcEVqFUf6/iBYHlLhrgDrULAtuQRrhf6YK27SMkIb6gckHQCUhsfEnhgqAbkC65e92CoAuQbvmSsgVBNyBp80VVC4KOQNrnvkULAvuQDrpnzYLAOqSC7luyILAPyaH7ViwI7GPq6GsKFgQdgQTSl9UrCLoC6aMvKVcQdANSR19WrSDoCiSSvrBYQdAZSDfduVZB0AFIQt2vVEFgGxJR96xUEFiHZNQ9CxW0rZ867cXctU5B0A1ISn1RmYKgI5CY+oIqBUEnIDn1RUUKgo5AgurLahQEXYEkFVai4P8BbuRrRlp6AQA=';\nimport 'src/components/atoms/typography/styles.css.ts.vanilla.css?source=#H4sIAAAAAAAAE5WSS27DIBBA9z7FLJMFUcHpJ8kmd+gBECnTGhWT1qCUtvLdW/dDVWR7wg4J5j0Qb+XDq0UvG1TauAdp8YRWNlxK/hxEjfEK3iuA+6MLzJs33MJJdQvG/CP7GWENZ+3xYCyydGq5q/pqNY4WCX1No0URuk7oGxpdF6HXCb2h0et5dMAYbr+Xw570QTmtOp0UnE86hln2O1CoaZW1fw5BOIbTZYKYGep5Q5xR7FvURoG/6xAdfL4WFq1x7MXo0GzhUlw8xeUXfeK78n7JgoM6WAz/bgHQTwvyismOSwV5y2TNpYK8aLJpUnBu1+eUXS4bq5vsu1gz3jhd+YSo/wAGxQY1gAUAAA==';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var heading = _7a468({defaultClassName:'atoms_color_text_light__yv8y4rmu atoms_color_text_dark__yv8y4rmv',variantClassNames:{level:{h1:'styles_heading_level_h1__1qt23ex6',h2:'styles_heading_level_h2__1qt23ex7',h3:'styles_heading_level_h3__1qt23ex8',h4:'styles_heading_level_h4__1qt23ex9'},weight:{normal:'atoms_fontWeight_normal__yv8y4rh',medium:'atoms_fontWeight_medium__yv8y4ri',semibold:'atoms_fontWeight_semibold__yv8y4rj',bold:'atoms_fontWeight_bold__yv8y4rk',extrabold:'atoms_fontWeight_extrabold__yv8y4rl'}},defaultVariants:{weight:'normal'},compoundVariants:[]});\nexport var textStyles = _7a468({defaultClassName:'',variantClassNames:{weight:{normal:'atoms_fontWeight_normal__yv8y4rh',medium:'atoms_fontWeight_medium__yv8y4ri',semibold:'atoms_fontWeight_semibold__yv8y4rj',bold:'atoms_fontWeight_bold__yv8y4rk',extrabold:'atoms_fontWeight_extrabold__yv8y4rl'},type:{accent:'atoms_color_accent_light__yv8y4rmq atoms_color_accent_dark__yv8y4rmr',regular:'atoms_color_text_light__yv8y4rmu atoms_color_text_dark__yv8y4rmv',muted:'atoms_color_textMuted_light__yv8y4rmw atoms_color_textMuted_dark__yv8y4rmx',inverted:'atoms_color_accent_light__yv8y4rmq atoms_color_accent_dark__yv8y4rmr',white:'atoms_color_white_light__yv8y4rmi atoms_color_white_dark__yv8y4rmj',danger:'atoms_color_textDanger_light__yv8y4rmy atoms_color_textDanger_dark__yv8y4rmz'},size:{standard:'styles_textStyles_size_standard__1qt23ex11',small:'styles_textStyles_size_small__1qt23ex12',xsmall:'styles_textStyles_size_xsmall__1qt23ex13'}},defaultVariants:{type:'regular',size:'standard',weight:'medium'},compoundVariants:[]});", "import classNames from \"classnames\";\nimport { createElement, PropsWithChildren } from \"react\";\nimport { heading, HeadingVariants } from \"./styles.css\";\n\ntype Props = PropsWithChildren<{ variant?: HeadingVariants }> &\n JSX.IntrinsicElements[\"h1\"];\n\nexport const Heading = ({ children, variant, className, ...rest }: Props) => {\n return createElement(variant?.level ?? \"h1\", {\n className: classNames(heading(variant), className),\n children,\n ...rest,\n });\n};\n", "import { Text } from \"../../atoms/typography\";\nimport { Box } from \"../../atoms/box\";\nimport { useLocation, useNavigate } from \"react-router-dom\";\nimport { CaretDownIcon, CaretLeftIcon, XIcon } from \"../../atoms/icons\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLogout } from \"../../../hooks\";\nimport { ConnectButton } from \"@rainbow-me/rainbowkit\";\nimport { container, parentButton, titleStyle } from \"./styles.css\";\nimport classNames from \"classnames\";\nimport { HelpModal } from \"../help-modal\";\n\nexport const Header = () => {\n const location = useLocation();\n const navigate = useNavigate();\n\n const { t } = useTranslation();\n\n const showBack = location.pathname !== \"/\";\n\n const onLeftIconPress = () => {\n showBack ? navigate(-1) : console.log(\"Support click\");\n };\n\n const logout = useLogout();\n\n const onXPress = () => logout();\n\n return (\n <Box\n display=\"flex\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n flexDirection=\"row\"\n py=\"4\"\n >\n {showBack ? (\n <Box as=\"button\" hw=\"7\" onClick={onLeftIconPress}>\n <CaretLeftIcon />\n </Box>\n ) : (\n <HelpModal type=\"main\" />\n )}\n\n <ConnectButton.Custom>\n {({ account, chain, openAccountModal, openChainModal, mounted }) => {\n const connected = mounted && account && chain;\n\n return (\n <Box\n className={classNames({ [parentButton]: !mounted })}\n aria-hidden={!mounted}\n >\n {(() => {\n if (!connected) {\n return (\n <Text variant={{ size: \"small\" }}>\n {t(\"shared.stake_kit\")}\n </Text>\n );\n }\n\n return (\n <Box\n borderRadius=\"2xl\"\n background=\"backgroundMuted\"\n display=\"flex\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n className={container}\n >\n {(() => {\n if (chain.unsupported) {\n return (\n <Box\n px=\"2\"\n py=\"2\"\n as=\"button\"\n onClick={openChainModal}\n >\n <Text variant={{ size: \"small\", type: \"danger\" }}>\n {t(\"shared.unsupported_network\")}\n </Text>\n </Box>\n );\n }\n\n return (\n <>\n <Box\n as=\"button\"\n display=\"flex\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n paddingLeft=\"2\"\n py=\"2\"\n onClick={openChainModal}\n >\n {chain?.iconUrl && (\n <Box as=\"img\" hw=\"6\" src={chain.iconUrl} />\n )}\n </Box>\n <Box\n as=\"button\"\n display=\"flex\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n px=\"2\"\n py=\"2\"\n onClick={openAccountModal}\n >\n {account.ensAvatar ? (\n <Box\n as=\"img\"\n src={account.ensAvatar}\n hw=\"6\"\n borderRadius=\"half\"\n />\n ) : (\n <Text\n className={titleStyle}\n variant={{ size: \"small\" }}\n >\n {account.ensName ?? account.displayName}\n </Text>\n )}\n\n <Box marginLeft=\"2\">\n <CaretDownIcon />\n </Box>\n </Box>\n </>\n );\n })()}\n </Box>\n );\n })()}\n </Box>\n );\n }}\n </ConnectButton.Custom>\n\n <Box as=\"button\" hw=\"6\" onClick={onXPress}>\n <XIcon />\n </Box>\n </Box>\n );\n};\n", "export const ArrowsLeftRightIcon = () => (\n <svg width={16} height={16} fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"m11 9 2 2-2 2M3 11h10M5 7 3 5l2-2M13 5H3\"\n stroke=\"#999\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n);\n", "export const CaretLeftIcon = () => (\n <svg width={24} height={24} fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M15 19.5 7.5 12 15 4.5\"\n stroke=\"#999\"\n strokeWidth={2}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n);\n", "import { vars } from \"../../../styles\";\n\nexport const CheckIcon = (props: { color?: string; hw?: number }) => (\n <svg\n width={props.hw ?? 24}\n height={props.hw ?? 24}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 32 32\"\n >\n <path\n d=\"M27 9 13 23l-7-7\"\n stroke={props.color ?? vars.color.text}\n strokeWidth={2}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n);\n", "export const CheckDisabledIcon = () => (\n <svg width={32} height={32} fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M27 9 13 23l-7-7\"\n stroke=\"#DADADA\"\n strokeWidth={2}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n);\n", "import { vars } from \"../../../styles\";\n\nexport const CircleNotchIcon = () => (\n <svg width={32} height={32} fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx={16} cy={16} r={12} stroke=\"silver\" strokeWidth={2} />\n <path\n d=\"M28 16A12 12 0 1 1 14.59 4.083\"\n stroke={vars.color.text}\n strokeWidth={2}\n strokeLinecap=\"round\"\n />\n </svg>\n);\n", "export const ClockClockWiseIcon = () => (\n <svg width={16} height={16} fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M8 5v3M10.6 9.5 8 8M11.513 6.231h2.5v-2.5\"\n stroke=\"#999\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M11.888 11.887a5.5 5.5 0 1 1 0-7.775l2.125 2.12\"\n stroke=\"#999\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n);\n", "export const GifIcon = () => (\n <svg width={16} height={16} fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M13.5 5h-11a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5ZM13 8v4.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5V8M8 5v8M10.831 4.294C10.12 5 8 5 8 5s0-2.119.706-2.831a1.503 1.503 0 0 1 2.125 2.125ZM5.169 4.294C5.88 5 7.999 5 7.999 5s0-2.119-.705-2.831a1.503 1.503 0 0 0-2.125 2.125Z\"\n stroke=\"#999\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n);\n", "export const HelpIcon = () => (\n <svg width={32} height={32} fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M16 25a9 9 0 1 0 0-18 9 9 0 0 0 0 18Z\"\n stroke=\"#999\"\n strokeWidth={2}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M16 22a1.125 1.125 0 1 0 0-2.25A1.125 1.125 0 0 0 16 22Z\"\n fill=\"#999\"\n />\n <path\n d=\"M16 17.5v-.75a2.625 2.625 0 1 0-2.625-2.625\"\n stroke=\"#999\"\n strokeWidth={2}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n);\n", "import { vars } from \"../../../styles\";\n\nexport const XIcon = (props: { color?: keyof (typeof vars)[\"color\"] }) => (\n <svg\n viewBox=\"0 0 24 24\"\n width={24}\n height={24}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"m18.75 5.25-13.5 13.5M18.75 18.75 5.25 5.25\"\n stroke={props.color ? vars.color[props.color] : vars.color.textMuted}\n strokeWidth={2}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n);\n", "import { vars } from \"../../../styles\";\n\nexport const CaretDownIcon = () => (\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M9.75 4.5L6 8.25L2.25 4.5\"\n stroke={vars.color.text}\n strokeWidth=\"1.33333\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n);\n", "import { vars } from \"../../../styles\";\n\nexport const SearchIcon = () => (\n <svg\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 14 14\"\n fill={vars.color.text}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M13.5307 12.4693L10.5625 9.49998C11.4525 8.34027 11.868 6.88547 11.7247 5.43069C11.5815 3.97591 10.8902 2.63008 9.79119 1.66622C8.69215 0.702356 7.26764 0.192633 5.8066 0.24045C4.34557 0.288266 2.95742 0.890041 1.92376 1.9237C0.890102 2.95736 0.288327 4.34551 0.240511 5.80654C0.192694 7.26757 0.702417 8.69209 1.66628 9.79113C2.63014 10.8902 3.97597 11.5814 5.43075 11.7247C6.88553 11.8679 8.34033 11.4524 9.50004 10.5625L12.4707 13.5337C12.5404 13.6035 12.6232 13.6588 12.7144 13.6966C12.8056 13.7343 12.9032 13.7538 13.0019 13.7538C13.1006 13.7538 13.1983 13.7343 13.2894 13.6966C13.3806 13.6588 13.4634 13.6035 13.5332 13.5337C13.6029 13.464 13.6583 13.3811 13.696 13.29C13.7338 13.1988 13.7532 13.1011 13.7532 13.0025C13.7532 12.9038 13.7338 12.8061 13.696 12.715C13.6583 12.6238 13.6029 12.541 13.5332 12.4712L13.5307 12.4693ZM1.75004 5.99998C1.75004 5.15941 1.99929 4.33771 2.46629 3.6388C2.93329 2.93989 3.59705 2.39516 4.37363 2.07349C5.15022 1.75182 6.00475 1.66765 6.82917 1.83164C7.65359 1.99563 8.41087 2.4004 9.00524 2.99477C9.59961 3.58914 10.0044 4.34642 10.1684 5.17084C10.3324 5.99526 10.2482 6.84979 9.92652 7.62638C9.60485 8.40297 9.06012 9.06672 8.36121 9.53372C7.6623 10.0007 6.84061 10.25 6.00004 10.25C4.87322 10.2488 3.79289 9.80068 2.99611 9.0039C2.19933 8.20712 1.75119 7.12679 1.75004 5.99998Z\"\n fill={vars.color.text}\n />\n </svg>\n);\n", "import 'src/styles/theme/atoms.css.ts.vanilla.css?source=#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';\nimport 'src/components/molecules/header/styles.css.ts.vanilla.css?source=LnN0eWxlc19jb250YWluZXJfX3YzcjlyNzIgewogIGN1cnNvcjogcG9pbnRlcjsKICB0cmFuc2l0aW9uOiAwLjEyNXMgZWFzZTsKfQouc3R5bGVzX2NvbnRhaW5lcl9fdjNyOXI3Mjpob3ZlciB7CiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyNSk7Cn0KLnN0eWxlc19jb250YWluZXJfX3YzcjlyNzI6YWN0aXZlIHsKICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpOwp9Ci5zdHlsZXNfcGFyZW50QnV0dG9uX192M3I5cjczIHsKICBvcGFjaXR5OiAwOwogIHBvaW50ZXItZXZlbnRzOiBub25lOwogIHVzZXItc2VsZWN0OiBub25lOwp9';\nexport var container = 'styles_container__v3r9r72';\nexport var parentButton = 'styles_parentButton__v3r9r73';\nexport var titleStyle = 'atoms_fontWeight_modalHeading__yv8y4rm';", "import { useTranslation } from \"react-i18next\";\nimport { Box } from \"../../atoms/box\";\nimport { HelpIcon } from \"../../atoms/icons\";\nimport { SelectModal } from \"../../atoms/select-modal\";\n\nimport poweredBy from \"../../../assets/images/powered-by.png\";\nimport whatIsStaking from \"../../../assets/images/what-is-staking.png\";\nimport whatIsLiquidStaking from \"../../../assets/images/what-is-liquid-staking.png\";\nimport whatIsDeposit from \"../../../assets/images/what-is-deposit.png\";\nimport whatIsLending from \"../../../assets/images/what-is-lending.png\";\nimport fees from \"../../../assets/images/fees.png\";\nimport { Text } from \"../../atoms/typography\";\nimport { Trigger } from \"@radix-ui/react-alert-dialog\";\nimport { imageStyle, linkStyle } from \"./style.css\";\nimport { YieldType } from \"@stakekit/api-hooks\";\n\ntype ModalType = \"main\" | \"fees\" | YieldType;\n\ntype HelpModalProps = {\n type: ModalType;\n};\n\nexport const HelpModal = ({ type }: HelpModalProps) => {\n const { t } = useTranslation();\n\n const getContent = (\n type: ModalType\n ): { title: string; description: string; image: string; link?: string } => {\n switch (type) {\n case \"main\": {\n return {\n title: t(\"help_modals.main.title\"),\n description: t(\"help_modals.main.description\"),\n image: poweredBy,\n link: \"https://stakek.it\",\n };\n }\n\n case \"staking\": {\n return {\n title: t(\"help_modals.staking.title\"),\n description: t(\"help_modals.staking.description\"),\n image: whatIsStaking,\n };\n }\n\n case \"liquid-staking\": {\n return {\n title: t(\"help_modals.liquid_staking.title\"),\n description: t(\"help_modals.liquid_staking.description\"),\n image: whatIsLiquidStaking,\n };\n }\n\n case \"vault\": {\n return {\n title: t(\"help_modals.deposit.title\"),\n description: t(\"help_modals.deposit.description\"),\n image: whatIsDeposit,\n };\n }\n\n case \"lending\": {\n return {\n title: t(\"help_modals.lending.title\"),\n description: t(\"help_modals.lending.description\"),\n image: whatIsLending,\n };\n }\n\n case \"fees\": {\n return {\n title: t(\"help_modals.fees.title\"),\n description: t(\"help_modals.fees.description\"),\n image: fees,\n };\n }\n }\n };\n\n const { description, image, title, link } = getContent(type);\n\n return (\n <SelectModal\n trigger={\n <Trigger>\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"center\">\n <HelpIcon />\n </Box>\n </Trigger>\n }\n >\n <Box\n display=\"flex\"\n flexDirection=\"column\"\n alignItems=\"center\"\n justifyContent=\"center\"\n px={{ tablet: \"8\", mobile: \"4\" }}\n paddingBottom={{ mobile: \"8\" }}\n >\n <Box as=\"img\" src={image} className={imageStyle} />\n\n <Text>{title}</Text>\n\n <Box marginTop=\"2\">\n <Text\n variant={{ size: \"small\", type: \"muted\", weight: \"normal\" }}\n textAlign=\"center\"\n >\n {description}\n </Text>\n </Box>\n\n {link && (\n <Box\n as=\"a\"\n href={link}\n target=\"_blank\"\n marginTop=\"2\"\n className={linkStyle}\n >\n <Text variant={{ size: \"small\", weight: \"normal\" }}>{link}</Text>\n </Box>\n )}\n </Box>\n </SelectModal>\n );\n};\n", "import {\n ChangeEvent,\n createContext,\n PropsWithChildren,\n ReactNode,\n useContext,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport { Content, Overlay, Portal, Root } from \"@radix-ui/react-alert-dialog\";\nimport {\n container,\n content,\n itemContainer,\n noOutline,\n overlay,\n} from \"./styles.css\";\nimport { Box } from \"../box\";\nimport { Text } from \"../typography\";\nimport { SearchIcon, XIcon } from \"../icons\";\nimport { Divider } from \"../divider\";\nimport { useSavedRef } from \"../../../hooks\";\nimport { useRootElement } from \"../../../hooks/use-root-element\";\n\nexport type SelectModalProps = PropsWithChildren<{\n title?: string;\n inputPlaceholder?: string;\n onSearch?: (value: string) => void;\n trigger: ReactNode;\n onClose?: () => void;\n}>;\n\nexport const SelectModalContext = createContext<\n { closeModal: () => void } | undefined\n>(undefined);\n\nconst useSelectModalContext = () => {\n const value = useContext(SelectModalContext);\n\n if (!value) {\n throw new Error(\"SelectModalContext is not provided\");\n }\n\n return value;\n};\n\nexport const SelectModal = ({\n children,\n trigger,\n title,\n onSearch,\n inputPlaceholder,\n onClose,\n}: SelectModalProps) => {\n const [open, setOpen] = useState(false);\n\n const value = useMemo(\n () => ({ closeModal: () => setOpen(false) }),\n [setOpen]\n );\n\n const onCloseRef = useSavedRef(onClose);\n\n useEffect(() => {\n if (!open) {\n onCloseRef.current?.();\n }\n }, [onCloseRef, open]);\n\n const rootElement = useRootElement();\n\n return (\n <SelectModalContext.Provider value={value}>\n <Root open={open} onOpenChange={setOpen}>\n {trigger}\n\n <Portal container={rootElement}>\n <Box className={container}>\n <Overlay onClick={() => setOpen(false)} className={overlay} />\n\n <Content data-testid=\"select-modal__container\" className={content}>\n <Box display=\"flex\" flexDirection=\"column\" height=\"full\">\n <Box\n display=\"flex\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n px=\"4\"\n >\n <Box flex={1}>\n {title && (\n <Text\n data-testid=\"select-modal__title\"\n variant={{ weight: \"bold\" }}\n >\n {title}\n </Text>\n )}\n </Box>\n <Box as=\"button\" onClick={() => setOpen(false)}>\n <XIcon />\n </Box>\n </Box>\n\n {onSearch && (\n <Box\n display=\"flex\"\n mx=\"4\"\n my=\"2\"\n background=\"backgroundMuted\"\n borderRadius=\"xl\"\n alignItems=\"center\"\n as=\"label\"\n >\n <Box mx=\"3\" display=\"flex\" alignItems=\"center\">\n <SearchIcon />\n </Box>\n <Box\n data-testid=\"select-modal__search-input\"\n className={noOutline}\n as=\"input\"\n border=\"none\"\n flex={1}\n py=\"3\"\n borderRadius=\"xl\"\n color=\"text\"\n background=\"backgroundMuted\"\n placeholder={inputPlaceholder ?? \"\"}\n onChange={(e: ChangeEvent<HTMLInputElement>) =>\n onSearch(e.target.value)\n }\n />\n </Box>\n )}\n\n <Box marginTop=\"2\">\n <Divider />\n </Box>\n {children}\n </Box>\n </Content>\n </Box>\n </Portal>\n </Root>\n </SelectModalContext.Provider>\n );\n};\n\nexport const SelectModalItemContainer = ({ children }: PropsWithChildren) => (\n <Box mx=\"4\">{children}</Box>\n);\n\nexport const SelectModalItem = ({\n children,\n onItemClick,\n testId,\n}: PropsWithChildren<{ onItemClick: () => void; testId?: string }>) => {\n const { closeModal } = useSelectModalContext();\n\n const onClick = () => {\n closeModal();\n onItemClick();\n };\n\n return (\n <Box className={itemContainer} onClick={onClick} data-testid={testId}>\n {children}\n </Box>\n );\n};\n", "import 'src/styles/theme/atoms.css.ts.vanilla.css?source=#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';\nimport 'src/components/atoms/select-modal/styles.css.ts.vanilla.css?source=#H4sIAAAAAAAAE8VUuY7bMBDt9yvYLGAXXMheOMlSjYO0AVKnMihpZDOmOApJ2TKC/ffwENenvNkqhSQe8+a9OTTLLRxqzRswxNiDBLPClpfCHr4q0XArUK1Wn+H3p0WWkT8PhGSP4UPIYMZIlrv9q3tm2fXlLF6+PiyveKzmytSomyum53OmN0MWl5Jb+DnxbNMb1Lets2kS8jTQl6gsFwp0Yp0FB5UwreROeS2h95hfnbGiPlBvD8oyUro3aH/FpVgrKiw05vS4RSN8OM6H6KHyRxbbIVEFWovNsJFQ22GpxXoT10eJuAPttCSB8yDw6J0XBmVnwcOFMpBcFbzcrjV2qmJkx/WEUrN18iVq2mDFJR380qPhNL/IjAsm0S4CbYG6Ak1dINSrpppXojMnBINBPKfzXk7zc1iI8F9xptQoZcE13YvKbhhRqEKgG4iJ+pLtNn7f8D6ZLOZZ2+ejKfJR1xL3bHB+UY3x+Bmjeyi2wtI3VeetErUdHfiO+HbZXi8BU3baoGZOoojt8h6KbbzuWILxulrcgqIGJJSWBsRYcRX+6Kx0FImBB98YD69jCZ6/4xqTfXHaDqmai+zRg5YNVIL7/AIowlVFJqf1mb20/TTA73a4+7HSRKDKTQz27mTKL1BVp3lsgOzp2aQhcbe/R0nvjKl7tHPzNvluJEWos6Y9T8rIZPpPaUm/CO8s5sNJqH28+NA0uMR+aCS4XP4F8DwU9K0GAAA=';\nexport var container = 'styles_container__7eq6501';\nexport var content = 'styles_content__7eq6505 atoms_paddingTop_4_mobile__yv8y4ra0 atoms_paddingBottom_4_mobile__yv8y4rbi atoms_width_full_mobile__yv8y4rj8 atoms_background_modalBodyBackground_light__yv8y4rq6 atoms_background_modalBodyBackground_dark__yv8y4rq7';\nexport var itemContainer = 'styles_itemContainer__7eq6509 atoms_paddingLeft_4_mobile__yv8y4rei atoms_paddingRight_4_mobile__yv8y4rd0 atoms_paddingTop_3_mobile__yv8y4r9y atoms_paddingBottom_3_mobile__yv8y4rbg atoms_marginTop_1_mobile__yv8y4r3u atoms_marginBottom_1_mobile__yv8y4r5c atoms_display_flex_mobile__yv8y4r30 atoms_justifyContent_space-between_mobile__yv8y4rg4 atoms_alignItems_center_mobile__yv8y4rfw atoms_borderRadius_xl__yv8y4r1n atoms_flex_1__yv8y4r1y atoms_background_tokenSelectBackground_light__yv8y4rpq atoms_background_tokenSelectBackground_dark__yv8y4rpr';\nexport var noOutline = 'styles_noOutline__7eq650a';\nexport var overlay = 'styles_overlay__7eq6502';\nexport var stakeText = 'atoms_color_white_light__yv8y4rmi atoms_color_white_dark__yv8y4rmj';\nexport var tokenLogo = 'styles_tokenLogo__7eq650b';", "import { useEffect, useState } from \"react\";\nimport { rootSelector } from \"../styles\";\n\nexport const useRootElement = () => {\n const [rootElement, setRootElement] = useState<HTMLElement | null>(null);\n\n useEffect(() => {\n if (!document) return;\n\n setRootElement(document.querySelector(rootSelector) as HTMLElement);\n }, []);\n\n return rootElement;\n};\n", "import 'src/components/molecules/help-modal/style.css.ts.vanilla.css?source=LnN0eWxlX2ltYWdlU3R5bGVfX21rMDV0NzAgewogIGhlaWdodDogMzIwcHg7CiAgd2lkdGg6IDMyMHB4Owp9Ci5zdHlsZV9saW5rU3R5bGVfX21rMDV0NzEgewogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQ==';\nexport var imageStyle = 'style_imageStyle__mk05t70';\nexport var linkStyle = 'style_linkStyle__mk05t71';", "import classNames from \"classnames\";\nimport { PropsWithChildren } from \"react\";\nimport { Box } from \"../box\";\n\nexport type HighlightProps = PropsWithChildren<{\n className?: Parameters<typeof classNames>[0];\n}>;\n\nexport const Highlight = ({ children, className }: HighlightProps) => (\n <Box\n background=\"backgroundMuted\"\n display=\"inline\"\n px=\"1\"\n borderRadius=\"lg\"\n marginRight=\"1\"\n my=\"1\"\n as=\"span\"\n className={className}\n >\n {children}\n </Box>\n);\n", "import BigNumber from \"bignumber.js\";\nimport { Maybe } from \"purify-ts\";\nimport { ChangeEvent, memo, useEffect, useRef, useState } from \"react\";\nimport { numberInput, spanStyle } from \"./styles.css\";\nimport { useAutoResizeText } from \"./use-auto-resize-text\";\nimport { createPortal } from \"react-dom\";\nimport { useRootElement } from \"../../../hooks/use-root-element\";\n\nexport type NumberInputProps = {\n onChange: (value: Maybe<BigNumber>) => void;\n value: Maybe<BigNumber>;\n};\n\nexport const NumberInput = memo(({ onChange, value }: NumberInputProps) => {\n const [localState, setLocalState] = useState(\"0\");\n const [isFocused, setIsFocused] = useState(false);\n\n useEffect(() => {\n if (isFocused) return;\n\n setLocalState((prevState) => {\n return value.caseOf({\n Just(value) {\n if (value.isEqualTo(new BigNumber(prevState))) return prevState;\n\n const valStr = value.toPrecision();\n return valStr;\n },\n Nothing() {\n return \"0\";\n },\n });\n });\n }, [value, isFocused]);\n\n const _onChange = (e: ChangeEvent<HTMLInputElement>) => {\n const val = e.target.value;\n\n setLocalState(val);\n\n if (!val) return onChange(Maybe.of(new BigNumber(0)));\n\n const value = new BigNumber(val);\n\n if (value.isNaN()) return;\n\n onChange(Maybe.of(value));\n };\n\n const isZero = localState === \"0\" || localState === \"\";\n\n const inputRef = useRef<HTMLInputElement>(null);\n const spanRef = useRef<HTMLSpanElement>(null);\n\n useAutoResizeText({\n inputRef,\n spanRef,\n inputVal: localState,\n });\n\n const rootElement = useRootElement();\n\n return (\n <>\n <input\n name=\"stake-amount\"\n ref={inputRef}\n data-testid=\"number-input\"\n type=\"number\"\n inputMode=\"decimal\"\n className={numberInput}\n value={localState}\n onChange={_onChange}\n onBlur={() => {\n setIsFocused(false);\n if (isZero) setLocalState(\"0\");\n }}\n onFocus={() => {\n setIsFocused(true);\n if (isZero) setLocalState(\"\");\n }}\n />\n {rootElement &&\n createPortal(\n <span ref={spanRef} className={spanStyle}>\n {localState}\n </span>,\n rootElement\n )}\n </>\n );\n});\n", "import 'src/styles/theme/atoms.css.ts.vanilla.css?source=#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';\nimport 'src/components/atoms/number-input/styles.css.ts.vanilla.css?source=LnN0eWxlc19mb250U3R5bGVzX18xczUzZjF3MSB7CiAgZm9udC1zaXplOiB2YXIoLS1zay1mb250LXNpemUtM3hsKTsKfQouc3R5bGVzX251bWJlcklucHV0X18xczUzZjF3MyB7CiAgYmFja2dyb3VuZDogbm9uZTsKICBib3JkZXI6IG5vbmU7CiAgb3V0bGluZTogbm9uZTsKICBwYWRkaW5nLWxlZnQ6IDA7Cn0KLnN0eWxlc19zcGFuU3R5bGVfXzFzNTNmMXc0IHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgbGVmdDogLTEwMCU7CiAgYm90dG9tOiAtMTAwJTsKICB2aXNpYmlsaXR5OiBoaWRkZW47Cn0=';\nexport var initialFontSizeVar = 'var(--sk-font-size-3xl)';\nexport var numberInput = 'styles_numberInput__1s53f1w3 styles_fontStyles__1s53f1w1 atoms_fontWeight_normal__yv8y4rh atoms_flex_1__yv8y4r1y atoms_minWidth_0_mobile__yv8y4rji atoms_color_text_light__yv8y4rmu atoms_color_text_dark__yv8y4rmv';\nexport var spanStyle = 'styles_spanStyle__1s53f1w4 styles_fontStyles__1s53f1w1 atoms_fontWeight_normal__yv8y4rh';", "import { RefObject, useEffect } from \"react\";\nimport { usePrevious } from \"../../../hooks/use-previous\";\nimport { vars } from \"../../../styles\";\nimport { initialFontSizeVar } from \"./styles.css\";\n\nexport const useAutoResizeText = ({\n inputVal,\n inputRef,\n spanRef,\n}: {\n inputVal: string;\n inputRef: RefObject<HTMLInputElement>;\n spanRef: RefObject<HTMLSpanElement>;\n}) => {\n const prevVal = usePrevious(inputVal);\n\n useEffect(() => {\n if (\n !inputRef.current ||\n !spanRef.current ||\n !prevVal ||\n inputVal.length === prevVal.length\n ) {\n return;\n }\n\n const newFontSize = scale({\n inputEl: inputRef.current,\n spanEl: spanRef.current,\n });\n\n inputRef.current.style.fontSize = `${newFontSize}px`;\n spanRef.current.style.fontSize = `${newFontSize}px`;\n }, [inputRef, inputVal, prevVal, spanRef]);\n};\n\nconst scale = ({\n inputEl,\n spanEl,\n}: {\n inputEl: HTMLInputElement;\n spanEl: HTMLSpanElement;\n}) => {\n if (typeof window === \"undefined\") return null;\n\n const currentInputWidth = inputEl.offsetWidth;\n\n const descendingFontSizes = getDescendingFontSizes(inputEl);\n\n let currentFontSize = parseFloat(window.getComputedStyle(spanEl).fontSize);\n\n for (const fs of descendingFontSizes) {\n spanEl.style.fontSize = `${fs}px`;\n if (spanEl.offsetWidth < currentInputWidth) {\n currentFontSize = fs;\n break;\n }\n }\n\n return currentFontSize;\n};\n\nconst convertRemToPixels = (rem: number) =>\n rem *\n parseFloat(\n document ? getComputedStyle(document.documentElement).fontSize : \"0\"\n );\n\nconst getDescendingFontSizes = (el: HTMLElement) =>\n [\n initialFontSizeVar,\n vars.fontSize[\"2xl\"],\n vars.fontSize.xl,\n vars.fontSize.lgx,\n vars.fontSize.lg,\n ].map((fs) =>\n convertRemToPixels(\n parseFloat(\n window\n .getComputedStyle(el)\n .getPropertyValue(fs.replace(/(var\\()|(\\))/g, \"\"))\n )\n )\n );\n", "import { useEffect, useRef } from \"react\";\n\nexport const usePrevious = <T>(value: T) => {\n const ref = useRef<T | null>(null);\n\n useEffect(() => {\n ref.current = value;\n }, [value]);\n\n return ref.current;\n};\n", "import { Outlet } from \"react-router-dom\";\nimport { Box } from \"../../../components/atoms/box\";\nimport { Header } from \"../../../components/molecules/header\";\n\nexport type OutletContext = [\n string,\n React.Dispatch<React.SetStateAction<string>>\n];\n\nexport const Layout = () => {\n return (\n <>\n <Box px=\"4\" marginBottom=\"4\">\n <Header />\n </Box>\n\n <Outlet />\n </>\n );\n};\n", "import { PropsWithChildren } from \"react\";\nimport { Box } from \"../../components/atoms/box\";\n\nexport const PageContainer = ({ children }: PropsWithChildren) => {\n return (\n <Box\n display=\"flex\"\n flexDirection=\"column\"\n height=\"full\"\n px=\"4\"\n marginBottom=\"6\"\n >\n {children}\n </Box>\n );\n};\n", "import { vars } from \"../../../styles\";\n\nexport const CheckCircleIcon = ({\n height,\n width,\n}: {\n width?: number;\n height?: number;\n}) => (\n <svg\n width={width ?? 16}\n height={height ?? 16}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M10.75 6.5 7.081 10 5.25 8.25\"\n stroke={vars.color.text}\n strokeWidth={2}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M8 14A6 6 0 1 0 8 2a6 6 0 0 0 0 12Z\"\n stroke={vars.color.text}\n strokeWidth={2}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n);\n", "import { useLocation, useNavigate } from \"react-router-dom\";\nimport { useAppState, useDerivedAppState } from \"../../state\";\nimport { useResetApp } from \"../../hooks/use-reset-app\";\n\nexport const useComplete = () => {\n const { selectedStake, stakeAmount } = useAppState();\n\n const resetApp = useResetApp();\n\n const navigate = useNavigate();\n\n const { rewardToken } = useDerivedAppState();\n\n const token = selectedStake.map((y) => y.token).extractNullable();\n const metadata = selectedStake.map((y) => y.metadata).extractNullable();\n\n const network = selectedStake.mapOrDefault((y) => y.token.symbol, \"\");\n\n const amount = stakeAmount.mapOrDefault((a) => a.toString(), \"\");\n\n const location = useLocation();\n\n const urls: string[] | undefined = location.state?.urls;\n\n const onClick = () => {\n resetApp();\n navigate(\"/\");\n };\n\n const onViewTransactionClick = () => {\n if (!urls) return;\n\n if (typeof window === \"undefined\") return;\n\n urls.forEach((url) => window.open(url, \"_blank\"));\n };\n\n const rewardTokenDetails = rewardToken.extractNullable();\n\n return {\n network,\n amount,\n token,\n rewardTokenDetails,\n metadata,\n onClick,\n onViewTransactionClick,\n };\n};\n", "import {\n HTMLProps,\n ReactNode,\n isValidElement,\n useEffect,\n useState,\n} from \"react\";\nimport { BoxProps } from \"../box\";\nimport { Box } from \"../box\";\n\nexport type ImageProps = Omit<BoxProps, \"as\"> & {\n fallback?: string | ReactNode;\n};\n\nexport const Image = ({ fallback, ...props }: ImageProps) => {\n const [isError, setIsError] = useState(false);\n\n useEffect(() => {\n setIsError(false);\n }, [props.src]);\n\n const onError: HTMLProps<HTMLImageElement>[\"onError\"] = (e) => {\n setIsError(true);\n props.onError?.(e);\n };\n\n if (isError && isValidElement(fallback)) {\n return fallback;\n }\n\n return <Box {...props} as=\"img\" onError={onError} />;\n};\n", "import 'src/styles/theme/atoms.css.ts.vanilla.css?source=#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';\nimport 'src/components/atoms/token-icon/style.css.ts.vanilla.css?source=LnN0eWxlX3NtYWxsTG9nb19fMTQwbHlwYjEgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBib3R0b206IC0ycHg7CiAgcmlnaHQ6IC0ycHg7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIHBhZGRpbmc6IDJweDsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjUyNTI1Owp9';\nexport var smallLogo = 'style_smallLogo__140lypb1 atoms_height_4_mobile__yv8y4rgq atoms_width_4_mobile__yv8y4ri8';", "import { TokenDto, YieldOpportunityDto } from \"@stakekit/api-hooks\";\nimport { Box } from \"../box\";\nimport { Image } from \"../image\";\nimport { smallLogo } from \"./style.css\";\nimport { Atoms } from \"../../../styles\";\n\nexport const TokenIcon = ({\n token,\n metadata,\n tokenLogoHw,\n tokenNetworkLogoHw,\n}: {\n token: TokenDto;\n metadata: YieldOpportunityDto[\"metadata\"];\n tokenLogoHw?: Atoms[\"hw\"];\n tokenNetworkLogoHw?: Atoms[\"hw\"];\n}) => {\n return (\n <Box position=\"relative\" marginRight=\"2\" display=\"flex\">\n <Box\n as=\"img\"\n hw={tokenLogoHw ?? \"9\"}\n src={metadata?.logoURI ?? token.logoURI}\n />\n <Image\n className={smallLogo}\n src={`https://raw.githubusercontent.com/steakwallet/assets/master/chain-icons/${token.network}.png`}\n fallback={<></>}\n hw={tokenNetworkLogoHw}\n />\n </Box>\n );\n};\n", "import { Button } from \"../../components/atoms/button\";\nimport { Text } from \"../../components/atoms/typography\";\nimport { Box } from \"../../components/atoms/box\";\nimport { Divider } from \"../../components/atoms/divider\";\nimport { PageContainer } from \"../components\";\nimport { useTranslation } from \"react-i18next\";\nimport { NumberInput, Spinner } from \"../../components\";\nimport { useDetails } from \"./use-details\";\nimport { Footer } from \"./components/footer\";\nimport { RewardTokenDetails } from \"../../components/molecules/reward-token-details\";\nimport { SelectOpportunity } from \"./components/select-opportunity\";\nimport { SelectValidator } from \"./components/select-validator\";\nimport { pressAnimation } from \"../../components/atoms/button/styles.css\";\nimport { HelpModal } from \"../../components/molecules/help-modal\";\n\nexport const Details = () => {\n const {\n availableTokens,\n formattedPrice,\n selectedStakeData,\n onItemSelect,\n selectedStake,\n onStakeAmountChange,\n estimatedRewards,\n symbol,\n yieldType,\n onMaxClick,\n stakeAmount,\n isBellowLimit,\n isOverLimit,\n accountBalanceIsFetching,\n buttonDisabled,\n onClick,\n buttonText,\n footerItems,\n onSearch,\n validators,\n onValidatorSelect,\n selectedValidator,\n isError,\n rewardToken,\n onSelectOpportunityClose,\n onStakeEnterIsLoading,\n selectedStakeYieldType,\n isFetching,\n } = useDetails();\n\n const { t } = useTranslation();\n\n const earnYearly = estimatedRewards.mapOrDefault(\n (e) => `${e.yearly} ${symbol}`,\n \"\"\n );\n const earnMonthly = estimatedRewards.mapOrDefault(\n (e) => `${e.monthly} ${symbol}`,\n \"\"\n );\n const earnPercentage = estimatedRewards.mapOrDefault(\n (e) => `${e.percentage}%`,\n \"\"\n );\n\n const title = yieldType;\n\n return (\n <>\n <PageContainer>\n <Box>\n <Box\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"space-between\"\n >\n <Box display=\"flex\" alignItems=\"center\">\n <Text variant={{ size: \"xsmall\" }}>{title}</Text>\n {isFetching && (\n <Box display=\"flex\" marginLeft=\"2\">\n <Spinner />\n </Box>\n )}\n </Box>\n\n {selectedStakeYieldType && (\n <HelpModal type={selectedStakeYieldType} />\n )}\n </Box>\n\n <Box\n background=\"stakeSectionBackground\"\n borderRadius=\"xl\"\n marginTop=\"2\"\n py=\"4\"\n px=\"4\"\n >\n <Box\n display=\"flex\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n >\n <Box minWidth=\"0\" display=\"flex\" marginRight=\"2\" flex={1}>\n <NumberInput\n onChange={onStakeAmountChange}\n value={stakeAmount}\n />\n </Box>\n\n <Box display=\"flex\" justifyContent=\"center\" alignItems=\"center\">\n <SelectOpportunity\n onItemSelect={onItemSelect}\n onSearch={onSearch}\n selectedStake={selectedStake}\n selectedStakeData={selectedStakeData}\n onSelectOpportunityClose={onSelectOpportunityClose}\n />\n </Box>\n </Box>\n\n <Box\n display=\"flex\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n marginTop=\"2\"\n flexWrap=\"wrap\"\n >\n <Box flex={1}>\n <Text\n variant={{ size: \"xsmall\", type: \"muted\", weight: \"normal\" }}\n >\n {formattedPrice}\n </Text>\n </Box>\n\n <Box display=\"flex\" justifyContent=\"flex-end\" alignItems=\"center\">\n {accountBalanceIsFetching ? (\n <Spinner />\n ) : (\n <Text\n variant={{\n size: \"xsmall\",\n type: isBellowLimit || isOverLimit ? \"danger\" : \"muted\",\n weight: \"normal\",\n }}\n >\n {availableTokens\n ? `${availableTokens} ${t(\"shared.available\")}`\n : \"\"}\n </Text>\n )}\n <Box\n as=\"button\"\n borderRadius=\"xl\"\n background=\"background\"\n px=\"2\"\n py=\"1\"\n marginLeft=\"2\"\n onClick={onMaxClick}\n className={pressAnimation}\n >\n <Text\n variant={{\n size: \"xsmall\",\n weight: \"semibold\",\n type: \"accent\",\n }}\n >\n {t(\"shared.max\")}\n </Text>\n </Box>\n </Box>\n </Box>\n </Box>\n\n <SelectValidator\n onValidatorSelect={onValidatorSelect}\n selectedValidator={selectedValidator}\n validators={validators}\n />\n\n <Box display=\"flex\" flexDirection=\"column\" gap=\"1\">\n <RewardTokenDetails rewardToken={rewardToken} />\n\n <Box\n display=\"flex\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n marginTop=\"3\"\n data-testid=\"estimated-reward__percent\"\n >\n <Text variant={{ size: \"small\" }}>\n {t(\"details.estimated_reward\")}\n </Text>\n <Text variant={{ size: \"small\" }}>{earnPercentage}</Text>\n </Box>\n\n <Box\n display=\"flex\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n data-testid=\"estimated-reward__yearly\"\n >\n <Text\n variant={{ size: \"xsmall\", type: \"muted\", weight: \"normal\" }}\n >\n {t(\"shared.yearly\")}\n </Text>\n <Text\n variant={{ size: \"xsmall\", type: \"muted\", weight: \"normal\" }}\n >\n {earnYearly}\n </Text>\n </Box>\n\n <Box\n display=\"flex\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n data-testid=\"estimated-reward__monthly\"\n >\n <Text\n variant={{ size: \"xsmall\", type: \"muted\", weight: \"normal\" }}\n >\n {t(\"shared.monthly\")}\n </Text>\n <Text\n variant={{ size: \"xsmall\", type: \"muted\", weight: \"normal\" }}\n >\n {earnMonthly}\n </Text>\n </Box>\n </Box>\n </Box>\n\n <Divider my=\"4\" />\n\n {isError && (\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"center\">\n <Text variant={{ type: \"danger\" }}>\n {t(\"shared.something_went_wrong\")}\n </Text>\n </Box>\n )}\n\n <Box\n flex={1}\n display=\"flex\"\n justifyContent=\"flex-end\"\n flexDirection=\"column\"\n >\n <Button\n disabled={buttonDisabled}\n isLoading={onStakeEnterIsLoading}\n onClick={onClick}\n variant={{\n color:\n buttonDisabled || onStakeEnterIsLoading\n ? \"disabled\"\n : \"primary\",\n animation: \"press\",\n }}\n >\n {buttonText}\n </Button>\n </Box>\n </PageContainer>\n\n <Footer {...footerItems} />\n </>\n );\n};\n", "import BigNumber from \"bignumber.js\";\nimport { EitherAsync, Maybe } from \"purify-ts\";\nimport { useDeferredValue, useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport {\n ValidatorDto,\n YieldOpportunityDto,\n useStakeGetValidators,\n} from \"@stakekit/api-hooks\";\nimport { NumberInputProps, SelectModalProps } from \"../../components\";\nimport { getTokenPriceInUSD } from \"../../domain\";\nimport { yieldTypesMap } from \"../../domain/types\";\nimport { useSelectedStakePrice } from \"../../hooks\";\nimport { useDerivedAppState } from \"../../state\";\nimport { useAppDispatch, useAppState } from \"../../state/app-state\";\nimport { formatTokenBalance } from \"../../utils\";\nimport { useFilteredOpportunities } from \"../../hooks/api/use-filtered-opportunities\";\nimport { useConnectModal } from \"@rainbow-me/rainbowkit\";\nimport { SelectedStakeData } from \"./types\";\nimport { Token } from \"@stakekit/types\";\nimport { useSKWallet } from \"../../hooks/use-sk-wallet\";\nimport { useMutation } from \"@tanstack/react-query\";\nimport { useStakeEnterAndTxsConstruct } from \"../../hooks/api/use-stake-enter-and-txs-construct\";\nimport { useNetworkGas } from \"../../hooks/api/use-network-gas\";\n\nexport const useDetails = () => {\n const {\n actions: { onMaxClick },\n selectedStake,\n selectedValidator,\n stakeAmount,\n availableAmount,\n maxStakeAmount,\n minStakeAmount,\n stakeRequestDto,\n gasModeValue,\n } = useAppState();\n const appDispatch = useAppDispatch();\n\n const gasParameters = useNetworkGas(selectedStake);\n\n const selectedStakeId = selectedStake.mapOrDefault((y) => y.id, \"\");\n\n const stakeValidators = useStakeGetValidators(selectedStakeId, {\n query: { enabled: !!selectedStakeId },\n });\n\n const { estimatedRewards, accountBalanceIsFetching, yieldType, rewardToken } =\n useDerivedAppState();\n\n const opportunities = useFilteredOpportunities();\n\n const pricesState = useSelectedStakePrice({ selectedStake });\n\n const symbol = selectedStake.mapOrDefault((y) => y.token.symbol, \"\");\n\n const formattedPrice = useMemo(() => {\n return Maybe.fromNullable(pricesState.data)\n .chain((prices) => selectedStake.map((ss) => ({ ss, prices })))\n .chain((val) => stakeAmount.map((sa) => ({ ...val, sa })))\n .map((val) =>\n getTokenPriceInUSD({\n amount: val.sa,\n token: val.ss.token as Token,\n prices: val.prices,\n })\n )\n .mapOrDefault((v) => `$${formatTokenBalance(v, 2)}`, \"\");\n }, [pricesState.data, selectedStake, stakeAmount]);\n\n const formattedAmount = useMemo(() => {\n return Maybe.fromNullable(availableAmount).mapOrDefault(\n (am) => formatTokenBalance(new BigNumber(am), 4),\n \"\"\n );\n }, [availableAmount]);\n\n const availableTokens = useMemo(\n () => `${formattedAmount} ${symbol}`.trim(),\n [formattedAmount, symbol]\n );\n\n const [stakeSearch, setStakeSearch] = useState(\"\");\n const deferredStakeSearch = useDeferredValue(stakeSearch);\n\n const selectedStakeData = useMemo((): Maybe<SelectedStakeData> => {\n return Maybe.fromNullable(opportunities.data)\n .map((y) => {\n const initialData = Object.fromEntries(\n Object.entries(yieldTypesMap).map(([key, value]) => {\n const k = key as keyof typeof yieldTypesMap;\n return [k, { ...value, items: [] as YieldOpportunityDto[] }];\n })\n ) as SelectedStakeData;\n\n return { y, initialData };\n })\n .map(({ y, initialData }) =>\n y.reduce((acc, curr) => {\n const type = curr.config.type;\n\n if (\n !deferredStakeSearch ||\n curr.token.name\n .toLowerCase()\n .includes(deferredStakeSearch.toLowerCase()) ||\n curr.token.symbol\n .toLowerCase()\n .includes(deferredStakeSearch.toLowerCase()) ||\n curr.config.rewardTokens?.some(\n (rt) =>\n rt.name\n .toLowerCase()\n .includes(deferredStakeSearch.toLowerCase()) ||\n rt.symbol\n .toLowerCase()\n .includes(deferredStakeSearch.toLowerCase())\n )\n ) {\n acc[type].items.push(curr);\n }\n\n return acc;\n }, initialData)\n );\n }, [opportunities.data, deferredStakeSearch]);\n\n const onSearch: SelectModalProps[\"onSearch\"] = (val) => setStakeSearch(val);\n\n const onItemSelect = (item: YieldOpportunityDto) =>\n appDispatch({ type: \"stake/select\", data: item });\n\n const onValidatorSelect = (item: ValidatorDto) =>\n appDispatch({ type: \"validator/select\", data: item });\n\n const onStakeAmountChange: NumberInputProps[\"onChange\"] = (val) =>\n appDispatch({ type: \"stakeAmount/change\", data: val });\n\n const isOverLimit = stakeAmount.mapOrDefault(\n (sa) =>\n sa.isGreaterThan(availableAmount) || sa.isGreaterThan(maxStakeAmount),\n false\n );\n\n const isBellowLimit = stakeAmount.mapOrDefault(\n (sa) => sa.isLessThan(minStakeAmount),\n false\n );\n\n const { t } = useTranslation();\n\n const { isConnected } = useSKWallet();\n\n const buttonText = isConnected\n ? t(\"shared.review\")\n : t(\"init.connect_wallet\");\n\n const onStakeEnter = useMutation(async () => {\n const result = await EitherAsync.liftEither(\n stakeRequestDto.toEither(new Error(\"Stake request not ready\"))\n ).chain((val) =>\n EitherAsync(() =>\n stakeEnterAndTxsConstruct.mutateAsync({\n stakeRequestDto: val,\n gasModeValue: gasModeValue.extract(),\n })\n ).mapLeft(() => new Error(\"Stake enter and txs construct failed\"))\n );\n\n return result.caseOf({\n Left: (e) => Promise.reject(e),\n Right: (v) => Promise.resolve(v),\n });\n });\n\n const isError =\n onStakeEnter.isError || opportunities.isError || onStakeEnter.isError;\n\n const { openConnectModal } = useConnectModal();\n\n const navigate = useNavigate();\n\n const stakeEnterAndTxsConstruct = useStakeEnterAndTxsConstruct();\n\n const onClick = () => {\n if (buttonDisabled) return;\n\n if (!isConnected) return openConnectModal?.();\n\n onStakeEnter.mutateAsync().then(() => navigate(\"/review\"));\n };\n\n const selectedStakeYieldType = selectedStake\n .map((val) => val.config.type)\n .extractNullable();\n\n const footerItems = useMemo(() => {\n return selectedStake.mapOrDefault(\n (y) => {\n switch (y.config.type) {\n case yieldTypesMap.staking.type: {\n return {\n description: null,\n };\n }\n case yieldTypesMap.lending.type:\n return {\n description: t(\"details.lent_description\", {\n stakeToken: y.token.symbol,\n lendToken:\n y.config.rewardTokens?.map((t) => t.symbol).join(\", \") ?? \"\",\n }),\n };\n case yieldTypesMap.vault.type:\n return {\n description: t(\"details.yearn_description\", {\n stakeToken: y.token.symbol,\n depositToken:\n y.config.rewardTokens?.map((t) => t.symbol).join(\", \") ?? \"\",\n }),\n };\n case yieldTypesMap[\"liquid-staking\"].type:\n return {\n description: t(\"details.liquid_stake_description\", {\n stakeToken: y.token.symbol,\n liquidToken:\n y.config.rewardTokens?.map((t) => t.symbol).join(\", \") ?? \"\",\n }),\n };\n\n default:\n return { description: \"\" };\n }\n },\n { description: \"\" }\n );\n }, [selectedStake, t]);\n\n const onSelectOpportunityClose = () => setStakeSearch(\"\");\n\n const isFetching =\n opportunities.isFetching ||\n accountBalanceIsFetching ||\n pricesState.isFetching ||\n onStakeEnter.isLoading ||\n stakeValidators.isLoading;\n\n const buttonDisabled =\n isConnected &&\n (isFetching ||\n isOverLimit ||\n isBellowLimit ||\n stakeAmount.isNothing() ||\n stakeAmount.map((sa) => sa.isZero()).orDefault(true) ||\n gasParameters.isLoading ||\n onStakeEnter.isLoading ||\n stakeValidators.isLoading);\n\n return {\n availableTokens,\n formattedPrice,\n symbol,\n selectedStakeData,\n selectedStake,\n onItemSelect,\n onStakeAmountChange,\n estimatedRewards,\n yieldType,\n onMaxClick,\n stakeAmount,\n isFetching,\n accountBalanceIsFetching,\n isOverLimit,\n isBellowLimit,\n buttonDisabled,\n onClick,\n footerItems,\n onSearch,\n validators: stakeValidators.data,\n onValidatorSelect,\n selectedValidator,\n isError,\n buttonText,\n rewardToken,\n onSelectOpportunityClose,\n onStakeEnterIsLoading: onStakeEnter.isLoading,\n selectedStakeYieldType,\n };\n};\n", "import { useTranslation } from \"react-i18next\";\nimport {\n ArrowsLeftRightIcon,\n Box,\n ClockClockWiseIcon,\n GifIcon,\n Text,\n} from \"../../../components\";\n\ntype FooterProps = {\n description: string | null;\n};\n\nexport const Footer = ({ description }: FooterProps) => {\n const { t } = useTranslation();\n\n return (\n <Box\n flex={1}\n background=\"backgroundMuted\"\n px=\"6\"\n py=\"6\"\n gap=\"3\"\n display=\"flex\"\n flexDirection=\"column\"\n >\n {description && (\n <Box display=\"flex\" alignItems=\"center\">\n <Box hw=\"4\" marginRight=\"2\">\n <ArrowsLeftRightIcon />\n </Box>\n <Text\n variant={{\n type: \"muted\",\n size: \"xsmall\",\n }}\n >\n {description}\n </Text>\n </Box>\n )}\n\n <Box display=\"flex\" alignItems=\"center\">\n <Box hw=\"4\" marginRight=\"2\">\n <ClockClockWiseIcon />\n </Box>\n <Text\n variant={{\n type: \"muted\",\n size: \"xsmall\",\n }}\n >\n {t(\"details.info_2\")}\n </Text>\n </Box>\n\n <Box display=\"flex\" alignItems=\"center\">\n <Box hw=\"4\" marginRight=\"2\">\n <GifIcon />\n </Box>\n <Text\n variant={{\n type: \"muted\",\n size: \"xsmall\",\n }}\n >\n {t(\"details.info_3\")}\n </Text>\n </Box>\n </Box>\n );\n};\n", "import { DerivedAppState } from \"../../../state\";\nimport { Box } from \"../../atoms/box\";\nimport { Divider } from \"../../atoms/divider\";\nimport { Text } from \"../../atoms/typography\";\nimport { Trans } from \"react-i18next\";\nimport { inlineText } from \"./style.css\";\n\nexport const RewardTokenDetails = ({\n rewardToken,\n}: {\n rewardToken: DerivedAppState[\"rewardToken\"];\n}) => {\n return rewardToken\n .map((rt) => (\n <>\n <Box display=\"flex\" alignItems=\"center\" my=\"4\">\n {rt.logoUri && (\n <Box hw=\"5\" as=\"img\" src={rt.logoUri} marginRight=\"1\" />\n )}\n\n <Text variant={{ size: \"xsmall\", weight: \"bold\" }}>\n <Trans\n i18nKey=\"details.reward_token\"\n values={{\n symbol: rt.symbol,\n providerName: rt.providerName,\n }}\n components={{\n highlight0: (\n <Text\n as=\"span\"\n className={inlineText}\n variant={{ type: \"muted\", size: \"xsmall\" }}\n />\n ),\n }}\n />\n </Text>\n </Box>\n\n <Divider />\n </>\n ))\n .extractNullable();\n};\n", "import 'src/styles/theme/atoms.css.ts.vanilla.css?source=#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';\nimport 'src/components/molecules/reward-token-details/style.css.ts.vanilla.css?source=LnN0eWxlX2lubGluZVRleHRfXzEweHo2dmMxIHsKICBkaXNwbGF5OiBpbmxpbmU7Cn0=';\nexport var inlineText = 'style_inlineText__10xz6vc1 atoms_fontSize_xs_mobile__yv8y4r36 atoms_color_textMuted_light__yv8y4rmw atoms_color_textMuted_dark__yv8y4rmx';", "import { List, Maybe } from \"purify-ts\";\nimport { GroupedVirtuoso } from \"react-virtuoso\";\nimport { State } from \"../../../state/types\";\nimport { SelectedStakeData } from \"../types\";\nimport {\n Box,\n CaretDownIcon,\n SelectModal,\n SelectModalItem,\n SelectModalItemContainer,\n SelectModalProps,\n Text,\n} from \"../../../components\";\nimport { useTranslation } from \"react-i18next\";\nimport { Trigger } from \"@radix-ui/react-alert-dialog\";\nimport { TokenIcon } from \"../../../components/atoms/token-icon\";\nimport { apyToPercentage } from \"../../../utils\";\nimport { useMemo } from \"react\";\nimport { hideScrollbar, selectItemText } from \"./styles.css\";\nimport { YieldOpportunityDto } from \"@stakekit/api-hooks\";\nimport { pressAnimation } from \"../../../components/atoms/button/styles.css\";\n\nexport const SelectOpportunity = ({\n selectedStake,\n selectedStakeData,\n onSearch,\n onItemSelect,\n onSelectOpportunityClose,\n}: {\n selectedStake: State[\"selectedStake\"];\n selectedStakeData: Maybe<SelectedStakeData>;\n onSearch: SelectModalProps[\"onSearch\"];\n onItemSelect: (item: YieldOpportunityDto) => void;\n onSelectOpportunityClose: () => void;\n}) => {\n const { t } = useTranslation();\n\n const data = useMemo(\n () =>\n selectedStakeData\n .chain((ssd) =>\n selectedStake\n .chain((ss) =>\n Maybe.of({\n ss,\n ssd,\n stakeData: Object.values(ssd).reduce((acc, val) => {\n if (!val.items.length) return acc;\n\n acc.push(...val.items);\n\n return acc;\n }, [] as YieldOpportunityDto[]),\n })\n )\n .map((val) => ({\n ...val,\n ...Object.values(val.ssd)\n .filter((val) => !!val.items.length)\n .reduce(\n (acc, curr) => {\n acc.groups.push(curr.title as keyof typeof val.ssd);\n acc.groupCounts.push(curr.items.length);\n\n return acc;\n },\n {\n groups: [] as (keyof typeof val.ssd)[],\n groupCounts: [] as number[],\n }\n ),\n }))\n )\n .extractNullable(),\n [selectedStake, selectedStakeData]\n );\n\n if (!data) return null;\n\n return (\n <SelectModal\n title={t(\"details.opportunity_search_title\")}\n onSearch={onSearch}\n onClose={onSelectOpportunityClose}\n trigger={\n <Trigger asChild>\n <Box\n as=\"button\"\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n background=\"background\"\n borderRadius=\"2xl\"\n px=\"2\"\n py=\"1\"\n data-testid=\"select-opportunity\"\n className={pressAnimation}\n >\n <Box\n marginRight=\"2\"\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n >\n <TokenIcon token={data.ss.token} metadata={data.ss.metadata} />\n <Text variant={{ weight: \"bold\" }}>{data.ss.token.symbol}</Text>\n </Box>\n <CaretDownIcon />\n </Box>\n </Trigger>\n }\n >\n <GroupedVirtuoso\n groupCounts={data.groupCounts}\n className={hideScrollbar}\n groupContent={(index) => {\n return (\n <Box py=\"4\" px=\"4\" background=\"background\">\n <Text variant={{ weight: \"bold\", size: \"small\" }}>\n {data.groups[index]}\n </Text>\n </Box>\n );\n }}\n itemContent={(index) => {\n const item = data.stakeData[index];\n\n return (\n <SelectModalItemContainer>\n {typeof item === \"string\" ? (\n <Box py=\"4\">\n <Text variant={{ weight: \"bold\", size: \"small\" }}>\n {item}\n </Text>\n </Box>\n ) : (\n <SelectModalItem\n testId={`select-opportunity__item_${item.id}-${index}`}\n onItemClick={() => onItemSelect(item)}\n >\n <TokenIcon\n metadata={item.metadata}\n token={Maybe.fromNullable(item.config.rewardTokens)\n .chain((rt) => List.head(rt))\n .orDefault(item.token)}\n />\n\n <Box\n display=\"flex\"\n flexDirection=\"column\"\n flex={1}\n marginLeft=\"2\"\n minWidth=\"0\"\n >\n <Box\n display=\"flex\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n >\n <Box>\n <Text\n className={selectItemText}\n variant={{\n size: \"small\",\n weight: \"bold\",\n }}\n >\n {Maybe.fromNullable(item.config.rewardTokens)\n .map((rt) => rt.map((t) => t.name).join(\", \"))\n .orDefault(item.token.name)}\n </Text>\n </Box>\n\n <Box>\n <Text variant={{ size: \"small\" }}>\n {apyToPercentage(item.apy)}%\n </Text>\n </Box>\n </Box>\n\n <Box display=\"flex\" marginTop=\"1\" flexWrap=\"wrap\" gap=\"1\">\n <Text\n variant={{\n size: \"xsmall\",\n type: \"muted\",\n }}\n >\n {Maybe.fromNullable(item.config.rewardTokens)\n .map((rt) => rt.map((t) => t.symbol).join(\", \"))\n .orDefault(item.token.symbol)}\n </Text>\n\n {Maybe.fromNullable(item.config.rewardTokens)\n .map(() => (\n <Box\n background=\"background\"\n borderRadius=\"2xl\"\n px=\"2\"\n >\n <Text\n variant={{\n size: \"xsmall\",\n type: \"muted\",\n }}\n >\n {item.token.symbol}\n </Text>\n </Box>\n ))\n .extractNullable()}\n </Box>\n </Box>\n </SelectModalItem>\n )}\n </SelectModalItemContainer>\n );\n }}\n />\n </SelectModal>\n );\n};\n", "import 'src/styles/theme/atoms.css.ts.vanilla.css?source=#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';\nimport 'src/pages/details/components/styles.css.ts.vanilla.css?source=LnN0eWxlc19zZWxlY3RJdGVtVGV4dF9fMWd0aHRhYzAgewogIGNvbG9yOiB2YXIoLS1zay1jb2xvci10b2tlbi1zZWxlY3QpOwogIGZvbnQtd2VpZ2h0OiB2YXIoLS1zay1mb250LXdlaWdodC10b2tlbi1zZWxlY3QpOwp9Ci5zdHlsZXNfdHJpZ2dlclN0eWxlc19fMWd0aHRhYzEgewogIHdpZHRoOiAxMDAlOwp9Ci5zdHlsZXNfaGlkZVNjcm9sbGJhcl9fMWd0aHRhYzQ6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKICBoZWlnaHQ6IDA7CiAgd2lkdGg6IDA7Cn0=';\nexport var hideScrollbar = 'styles_hideScrollbar__1gthtac4';\nexport var selectItemText = 'styles_selectItemText__1gthtac0';\nexport var triggerStyles = 'styles_triggerStyles__1gthtac1';\nexport var validatorVirtuosoContainer = 'atoms_marginTop_2_mobile__yv8y4r3w';", "import { Maybe } from \"purify-ts\";\nimport {\n Box,\n CaretDownIcon,\n Divider,\n SelectModal,\n SelectModalItem,\n SelectModalItemContainer,\n Text,\n} from \"../../../components\";\nimport { Trigger } from \"@radix-ui/react-alert-dialog\";\nimport { Image } from \"../../../components/atoms/image\";\nimport { useTranslation } from \"react-i18next\";\nimport { apyToPercentage, getBackgroundColor } from \"../../../utils\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport {\n breakWord,\n defaultColor,\n defaultColorContainer,\n modalItemNameContainer,\n tokenLogo,\n validatorSelectContainer,\n} from \"../style.css\";\nimport { Virtuoso } from \"react-virtuoso\";\nimport { ValidatorDto } from \"@stakekit/api-hooks\";\nimport { triggerStyles, validatorVirtuosoContainer } from \"./styles.css\";\n\nexport const SelectValidator = ({\n validators,\n selectedValidator,\n onValidatorSelect,\n}: {\n validators: ValidatorDto[] | undefined;\n selectedValidator: Maybe<ValidatorDto>;\n onValidatorSelect: (item: ValidatorDto) => void;\n}) => {\n const { t } = useTranslation();\n\n return Maybe.fromNullable(validators)\n .chain((v) => selectedValidator.map((sv) => ({ v, sv })))\n .map(({ sv, v }) => {\n return (\n <SelectModal\n title={t(\"details.validator_search_title\")}\n trigger={\n <Trigger disabled={!v.length} className={triggerStyles}>\n <Box display=\"flex\">\n <Box flex={1}>\n <Box\n marginRight=\"2\"\n display=\"flex\"\n justifyContent=\"flex-start\"\n alignItems=\"center\"\n marginTop=\"3\"\n >\n <Image\n hw=\"5\"\n marginRight=\"2\"\n src={sv.image}\n className={tokenLogo}\n fallback={\n <Box\n className={validatorSelectContainer}\n style={assignInlineVars({\n [defaultColor]: getBackgroundColor(sv.name),\n })}\n >\n <Box\n hw=\"5\"\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Text\n variant={{\n size: \"xsmall\",\n type: \"white\",\n weight: \"bold\",\n }}\n >\n {sv.name.charAt(0)}\n </Text>\n </Box>\n </Box>\n }\n />\n <Text\n className={breakWord}\n variant={{ weight: \"bold\", size: \"xsmall\" }}\n >\n {t(\"details.staked_via\", {\n validator: sv.name,\n })}\n </Text>\n {!!v.length && (\n <Box marginLeft=\"2\">\n <CaretDownIcon />\n </Box>\n )}\n </Box>\n <Box marginTop=\"4\">\n <Divider />\n </Box>\n </Box>\n </Box>\n </Trigger>\n }\n >\n <Virtuoso\n className={validatorVirtuosoContainer}\n data={v}\n itemContent={(_index, item) => {\n return (\n <SelectModalItemContainer>\n <SelectModalItem onItemClick={() => onValidatorSelect(item)}>\n <Image\n hw=\"9\"\n src={item.image}\n className={tokenLogo}\n fallback={\n <Box\n className={defaultColorContainer}\n style={assignInlineVars({\n [defaultColor]: getBackgroundColor(item.name),\n })}\n >\n <Box\n hw=\"9\"\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Text\n variant={{\n size: \"xsmall\",\n type: \"white\",\n weight: \"bold\",\n }}\n >\n {item.name.charAt(0)}\n </Text>\n </Box>\n </Box>\n }\n />\n\n <Box\n display=\"flex\"\n flexDirection=\"column\"\n flex={1}\n marginLeft=\"2\"\n >\n <Box\n display=\"flex\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n >\n <Box className={modalItemNameContainer}>\n <Text\n variant={{\n size: \"small\",\n weight: \"bold\",\n }}\n >\n {item.name}\n </Text>\n </Box>\n\n {item.apr && (\n <Box>\n <Text variant={{ size: \"small\" }}>\n {apyToPercentage(item.apr)}%\n </Text>\n </Box>\n )}\n </Box>\n </Box>\n </SelectModalItem>\n </SelectModalItemContainer>\n );\n }}\n />\n </SelectModal>\n );\n })\n .extractNullable();\n};\n", "import 'src/styles/theme/atoms.css.ts.vanilla.css?source=#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';\nimport 'src/pages/details/style.css.ts.vanilla.css?source=LnN0eWxlX3Rva2VuTG9nb19fc2pvOTNzMCB7CiAgYm9yZGVyLXJhZGl1czogNTAlOwp9Ci5zdHlsZV9icmVha1dvcmRfX3NqbzkzczEgewogIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsKfQouc3R5bGVfZGVmYXVsdENvbG9yQ29udGFpbmVyX19zam85M3M2IHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWZhdWx0Q29sb3JfX3NqbzkzczQpOwp9';\nexport var breakWord = 'style_breakWord__sjo93s1';\nexport var defaultColor = 'var(--defaultColor__sjo93s4)';\nexport var defaultColorContainer = 'style_defaultColorContainer__sjo93s6 atoms_borderRadius_half__yv8y4r1r';\nexport var modalItemNameContainer = 'atoms_marginRight_2_mobile__yv8y4r6w style_breakWord__sjo93s1';\nexport var tokenLogo = 'style_tokenLogo__sjo93s0';\nexport var validatorSelectContainer = 'style_defaultColorContainer__sjo93s6 atoms_borderRadius_half__yv8y4r1r atoms_marginRight_2_mobile__yv8y4r6w';", "import { Trans, useTranslation } from \"react-i18next\";\nimport { Button, Divider, Highlight } from \"../../components\";\nimport { Box } from \"../../components/atoms/box\";\nimport { Heading, Text } from \"../../components/atoms/typography\";\nimport { PageContainer } from \"../components\";\nimport { useReview } from \"./use-review\";\nimport { feeStyles, spanStyle } from \"./style.css\";\nimport { RewardTokenDetails } from \"../../components/molecules/reward-token-details\";\nimport { TokenIcon } from \"../../components/atoms/token-icon\";\nimport { HelpModal } from \"../../components/molecules/help-modal\";\n\nexport const ReviewPage = () => {\n const {\n amount,\n fee,\n interestRate,\n tokenNetwork,\n yieldType,\n token,\n onClick,\n rewardToken,\n metadata,\n } = useReview();\n\n const { t } = useTranslation();\n\n return (\n <>\n <PageContainer>\n <Box marginBottom=\"4\">\n <Box\n display=\"flex\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n marginBottom=\"1\"\n >\n <Heading variant={{ level: \"h1\" }}>{yieldType}</Heading>\n {token && metadata && (\n <TokenIcon token={token} metadata={metadata} />\n )}\n </Box>\n\n <Heading variant={{ level: \"h1\" }}>\n <Trans\n i18nKey=\"review.amount_and_earn\"\n values={{\n amount,\n tokenNetwork,\n interestRate,\n }}\n components={{\n highlight0: <Highlight className={spanStyle} />,\n highlight1: <Highlight className={spanStyle} />,\n highlight3: <Highlight className={spanStyle} />,\n }}\n />\n </Heading>\n\n <Box marginTop=\"1\">\n <Text variant={{ size: \"xsmall\", type: \"muted\", weight: \"normal\" }}>\n {t(\"review.estimated_reward\")}\n </Text>\n </Box>\n </Box>\n\n <Divider />\n\n <RewardTokenDetails rewardToken={rewardToken} />\n\n <Box\n display=\"flex\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n marginTop=\"3\"\n >\n <Text variant={{ weight: \"semibold\", size: \"small\" }}>\n {t(\"shared.fees\")}\n </Text>\n <HelpModal type=\"fees\" />\n </Box>\n\n <Box\n display=\"flex\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n my=\"1\"\n data-testid=\"estimated_gas_fee\"\n >\n <Text variant={{ size: \"small\", weight: \"normal\", type: \"muted\" }}>\n {t(\"review.estimated_gas_fee\")}\n </Text>\n <Text\n className={feeStyles}\n variant={{ size: \"small\", type: \"muted\", weight: \"normal\" }}\n >\n {fee}\n </Text>\n </Box>\n\n <Box\n flex={1}\n display=\"flex\"\n justifyContent=\"flex-end\"\n flexDirection=\"column\"\n >\n <Button\n onClick={onClick}\n variant={{ color: \"primary\", animation: \"press\" }}\n >\n {t(\"shared.confirm\")}\n </Button>\n </Box>\n </PageContainer>\n\n <Box background=\"backgroundMuted\" px=\"6\" py=\"6\">\n <Text variant={{ size: \"xsmall\", weight: \"normal\", type: \"muted\" }}>\n <Trans\n i18nKey=\"review.terms_of_use\"\n components={{\n underline0: <span style={{ textDecoration: \"underline\" }} />,\n }}\n />\n </Text>\n </Box>\n </>\n );\n};\n", "import { useNavigate } from \"react-router-dom\";\nimport { useDerivedAppState } from \"../../state\";\nimport { useAppState } from \"../../state/app-state\";\nimport { getBaseToken, getTokenPriceInUSD } from \"../../domain\";\nimport { useSelectedStakePrice } from \"../../hooks\";\nimport { Maybe } from \"purify-ts\";\nimport { formatTokenBalance } from \"../../utils\";\nimport { useMemo } from \"react\";\nimport { Token } from \"@stakekit/types\";\n\nexport const useReview = () => {\n const { stakeAmount, selectedStake, stakeEnterTxGas } = useAppState();\n const { estimatedRewards, yieldType, rewardToken } = useDerivedAppState();\n\n const tokenNetwork = selectedStake.mapOrDefault((y) => y.token.symbol, \"\");\n const amount = stakeAmount.mapOrDefault((a) => a.toString(), \"\");\n const interestRate = estimatedRewards.mapOrDefault(\n (r) => r.percentage.toString(),\n \"\"\n );\n\n const pricesState = useSelectedStakePrice({ selectedStake });\n\n const gasFeeInUSD = useMemo(\n () =>\n selectedStake\n .chain((ss) =>\n Maybe.fromNullable(pricesState.data).map((prices) => ({ prices, ss }))\n )\n .chain((val) => stakeEnterTxGas.map((gas) => ({ ...val, gas })))\n .map(({ prices, ss, gas }) =>\n getTokenPriceInUSD({\n amount: gas.toString(),\n prices,\n token: getBaseToken(ss.token as Token),\n })\n ),\n [selectedStake, pricesState.data, stakeEnterTxGas]\n );\n\n const fee = useMemo(\n () =>\n stakeEnterTxGas\n .chain((setg) => gasFeeInUSD.map((gfiu) => ({ setg, gfiu })))\n .mapOrDefault(\n ({ gfiu, setg }) =>\n `${setg.toPrecision(5)} ${tokenNetwork} ($${formatTokenBalance(\n gfiu,\n 6\n )})`,\n \"\"\n ),\n [gasFeeInUSD, stakeEnterTxGas, tokenNetwork]\n );\n\n const token = selectedStake.map((y) => y.token).extractNullable();\n const metadata = selectedStake.map((y) => y.metadata).extractNullable();\n\n const navigate = useNavigate();\n\n const onClick = () => navigate(\"/steps\");\n\n return {\n tokenNetwork,\n amount,\n interestRate,\n fee,\n token,\n yieldType,\n onClick,\n rewardToken,\n metadata,\n };\n};\n", "import 'src/pages/review/style.css.ts.vanilla.css?source=LnN0eWxlX3NwYW5TdHlsZV9fYmI3NjJhMCB7CiAgd29yZC1icmVhazogYnJlYWstYWxsOwp9Ci5zdHlsZV9mZWVTdHlsZXNfX2JiNzYyYTEgewogIHRleHQtYWxpZ246IHJpZ2h0Owp9';\nexport var feeStyles = 'style_feeStyles__bb762a1';\nexport var spanStyle = 'style_spanStyle__bb762a0';", "import { useTranslation } from \"react-i18next\";\nimport { Box, Button, Heading, Spinner, Text, XIcon } from \"../../components\";\nimport { PageContainer } from \"../components\";\nimport { useSteps } from \"./use-steps\";\nimport { CheckSteps } from \"../../components/atoms/icons/check-steps\";\nimport {\n halfOpacityAfter,\n stepsAfter,\n stepsAfterMuted,\n stepsBefore,\n stepsBeforeMuted,\n} from \"./styles.css\";\nimport cls from \"classnames\";\n\nexport const StepsPage = () => {\n const { state, onClick } = useSteps();\n\n const { t } = useTranslation();\n\n return (\n <PageContainer>\n <Box marginBottom=\"2\">\n <Heading variant={{ level: \"h4\" }}>{t(\"steps.title\")}</Heading>\n </Box>\n\n <Box flex={1}>\n <Box\n background=\"backgroundMuted\"\n flexDirection=\"column\"\n display=\"flex\"\n px=\"4\"\n py=\"4\"\n borderRadius=\"xl\"\n >\n <Box display=\"flex\">\n <Box\n display=\"flex\"\n flexDirection=\"column\"\n alignItems=\"center\"\n marginRight=\"3\"\n className={cls({\n [stepsAfter]: true,\n [halfOpacityAfter]: !state.sign.isSuccess,\n [stepsAfterMuted]: !state.sign.isSuccess,\n })}\n >\n <Box\n background=\"text\"\n borderRadius=\"half\"\n hw=\"10\"\n borderWidth={3}\n borderColor=\"text\"\n borderStyle=\"solid\"\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n {state.sign.isLoading ? (\n <Spinner variant={{ color: \"inverted\" }} />\n ) : state.sign.isError ? (\n <XIcon color=\"background\" />\n ) : (\n <CheckSteps hw={18} />\n )}\n </Box>\n </Box>\n\n <Box\n flexDirection=\"column\"\n display=\"flex\"\n alignItems=\"flex-start\"\n gap=\"1\"\n >\n <Text variant={{ size: \"small\" }}>{t(\"steps.approve\")}</Text>\n {state.sign.isError ? (\n <Text variant={{ type: \"danger\", size: \"small\" }}>\n {t(\"shared.something_went_wrong\")}\n </Text>\n ) : (\n <Text\n variant={{ type: \"muted\", size: \"small\", weight: \"normal\" }}\n >\n {t(\"steps.approve_desc\")}\n </Text>\n )}\n </Box>\n </Box>\n\n <Box\n display=\"flex\"\n alignItems=\"center\"\n opacity={state.sign.isSuccess ? 1 : 0.5}\n >\n <Box\n display=\"flex\"\n flexDirection=\"column\"\n alignItems=\"center\"\n marginRight=\"3\"\n className={cls({\n [stepsAfter]: true,\n [stepsBefore]: true,\n [stepsAfterMuted]: !state.sign.isSuccess,\n [stepsBeforeMuted]: !state.sign.isSuccess,\n })}\n >\n <Box\n background={state.sign.isSuccess ? \"text\" : \"white\"}\n borderColor={state.sign.isSuccess ? \"text\" : \"textMuted\"}\n borderRadius=\"half\"\n hw=\"10\"\n borderWidth={3}\n borderStyle=\"solid\"\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n {state.sign.isSuccess && <CheckSteps hw={18} />}\n </Box>\n </Box>\n\n <Box\n flexDirection=\"column\"\n display=\"flex\"\n alignItems=\"flex-start\"\n gap=\"1\"\n >\n <Text variant={{ size: \"small\" }}>{t(\"steps.submitted\")}</Text>\n </Box>\n </Box>\n\n <Box\n display=\"flex\"\n alignItems=\"center\"\n opacity={\n state.checkTxStatus.isLoading ||\n state.checkTxStatus.isSuccess ||\n state.checkTxStatus.isError\n ? 1\n : 0.5\n }\n >\n <Box\n display=\"flex\"\n flexDirection=\"column\"\n alignItems=\"center\"\n marginRight=\"3\"\n className={cls({\n [stepsAfter]: true,\n [stepsBefore]: true,\n [stepsAfterMuted]: !state.checkTxStatus.isSuccess,\n [halfOpacityAfter]:\n state.checkTxStatus.isLoading || state.checkTxStatus.isError,\n [stepsBeforeMuted]: !state.sign.isSuccess,\n })}\n >\n <Box\n background={\n state.checkTxStatus.isLoading ||\n state.checkTxStatus.isSuccess ||\n state.checkTxStatus.isError\n ? \"text\"\n : \"white\"\n }\n borderColor={\n state.checkTxStatus.isLoading ||\n state.checkTxStatus.isSuccess ||\n state.checkTxStatus.isError\n ? \"text\"\n : \"textMuted\"\n }\n borderRadius=\"half\"\n borderWidth={3}\n borderStyle=\"solid\"\n hw=\"10\"\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n {state.checkTxStatus.isLoading ? (\n <Spinner variant={{ color: \"inverted\" }} />\n ) : state.checkTxStatus.isError ? (\n <XIcon color=\"white\" />\n ) : (\n <CheckSteps hw={18} />\n )}\n </Box>\n </Box>\n\n <Box\n flexDirection=\"column\"\n display=\"flex\"\n alignItems=\"flex-start\"\n gap=\"1\"\n >\n <Text variant={{ size: \"small\" }}>{t(\"steps.pending\")}</Text>\n {state.checkTxStatus.isError && (\n <Text variant={{ type: \"danger\", size: \"small\" }}>\n {t(\"shared.something_went_wrong\")}\n </Text>\n )}\n </Box>\n </Box>\n\n <Box\n display=\"flex\"\n alignItems=\"center\"\n opacity={state.checkTxStatus.isSuccess ? 1 : 0.5}\n >\n <Box\n display=\"flex\"\n flexDirection=\"column\"\n alignItems=\"center\"\n marginRight=\"3\"\n paddingBottom=\"2\"\n className={cls({\n [stepsBefore]: true,\n [stepsBeforeMuted]: !state.checkTxStatus.isSuccess,\n })}\n >\n <Box\n background={state.checkTxStatus.isSuccess ? \"text\" : \"white\"}\n borderColor={\n state.checkTxStatus.isSuccess ? \"text\" : \"textMuted\"\n }\n borderWidth={3}\n borderStyle=\"solid\"\n borderRadius=\"half\"\n hw=\"10\"\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <CheckSteps hw={18} />\n </Box>\n </Box>\n\n <Box\n flexDirection=\"column\"\n display=\"flex\"\n alignItems=\"flex-start\"\n gap=\"1\"\n >\n <Text variant={{ size: \"small\" }}>{t(\"steps.completed\")}</Text>\n </Box>\n </Box>\n </Box>\n </Box>\n\n {!state.checkTxStatus.isLoading && state.checkTxStatus.isError && (\n <Box my=\"4\">\n <Button onClick={state.checkTxStatus.retry}>\n {t(\"shared.retry\")}\n </Button>\n </Box>\n )}\n\n {!state.sign.isLoading && state.sign.isError && (\n <Box my=\"4\">\n <Button onClick={state.sign.retry}>{t(\"shared.retry\")}</Button>\n </Box>\n )}\n\n <Box display=\"flex\" alignItems=\"flex-end\">\n <Button onClick={onClick} variant={{ color: \"secondary\" }}>\n {t(\"shared.cancel\")}\n </Button>\n </Box>\n </PageContainer>\n );\n};\n", "import { useEffect } from \"react\";\nimport { useAppState } from \"../../state\";\nimport { useNavigate } from \"react-router-dom\";\nimport { useStepsMachine } from \"./use-steps-machine\";\n\nexport const useSteps = () => {\n const { stakeSession } = useAppState();\n\n const navigate = useNavigate();\n\n const [machine, send] = useStepsMachine();\n\n const id = stakeSession.map((val) => val.id).extractNullable();\n\n /**\n * Start sign + check tx on mount\n */\n useEffect(() => {\n if (!id) return;\n\n send({ type: \"START\", id });\n }, [id, send]);\n\n /**\n * Clear timeout on unmount\n */\n useEffect(() => {\n return () => {\n const timeoutId = machine.context.txCheckTimeoutId;\n if (timeoutId) clearTimeout(timeoutId);\n };\n }, [machine.context.txCheckTimeoutId]);\n\n useEffect(() => {\n if (machine.value === \"done\") {\n navigate(\"/complete\", { state: { urls: machine.context.urls } });\n }\n }, [machine.context.urls, machine.value, navigate]);\n\n const onClick = () => navigate(-1);\n\n const state = {\n sign: {\n isSuccess:\n machine.value !== \"idle\" &&\n machine.value !== \"signLoading\" &&\n machine.value !== \"signError\",\n isLoading: machine.value === \"signLoading\",\n isError: machine.value === \"signError\",\n retry: () => {\n if (machine.value === \"signLoading\" || !id) return;\n\n send({ type: \"SIGN_RETRY\", id });\n },\n },\n checkTxStatus: {\n isSuccess: machine.value === \"done\",\n isLoading:\n machine.value === \"txCheckLoading\" || machine.value === \"txCheckRetry\",\n isError: machine.value === \"txCheckError\",\n retry: () => {\n if (machine.value === \"txCheckLoading\" || !id) return;\n\n send({ type: \"TX_CHECK_RETRY\", id });\n },\n },\n };\n\n return {\n state,\n onClick,\n };\n};\n", "import { EitherAsync, Left, Right } from \"purify-ts\";\nimport useStateMachine, { t } from \"@cassiozen/usestatemachine\";\nimport { $$t } from \"@cassiozen/usestatemachine/dist/types\";\nimport {\n GetStakeSessionError,\n MissingHashError,\n SendTransactionError,\n SubmitError,\n TransactionConstructError,\n} from \"./errors\";\nimport { Override } from \"../../types/utils\";\nimport { useAppState } from \"../../state\";\nimport {\n stakeGetStakeSession,\n transactionConstruct,\n transactionGetTransactionStatusFromId,\n transactionSubmitHash,\n} from \"@stakekit/api-hooks\";\nimport { useSKWallet } from \"../../hooks/use-sk-wallet\";\nimport { getValidStakeSessionTx, isTxError } from \"../../domain\";\n\nconst tt = t as <T extends unknown>() => {\n [$$t]: T;\n};\n\nexport const useStepsMachine = () => {\n const { gasModeValue } = useAppState();\n const { sendTransaction } = useSKWallet();\n\n return useStateMachine({\n initial: \"idle\",\n schema: {\n context: tt<{\n signError:\n | Error\n | GetStakeSessionError\n | SendTransactionError\n | SubmitError\n | null;\n txCheckError: GetStakeSessionError | null;\n txCheckTimeoutId: number | null;\n urls: string[];\n }>(),\n events: {\n START: tt<{ id: string }>(),\n SIGN_RETRY: tt<{ id: string }>(),\n SIGN_SUCCESS: tt<{ id: string }>(),\n RETRY: tt<{ id: string }>(),\n TX_CHECK_RETRY: tt<{ id: string }>(),\n },\n },\n context: {\n signError: null,\n txCheckError: null,\n txCheckTimeoutId: null,\n urls: [],\n },\n states: {\n idle: {\n on: { START: \"signLoading\" },\n },\n signLoading: {\n on: { SIGN_SUCCESS: \"txCheckLoading\", SIGN_ERROR: \"signError\" },\n effect: ({ send, setContext, event }) => {\n const id = event.id;\n\n EitherAsync(() => stakeGetStakeSession(id))\n .mapLeft(() => new GetStakeSessionError())\n .chain((val) => EitherAsync.liftEither(getValidStakeSessionTx(val)))\n .chain((val) =>\n EitherAsync.sequence(\n val.transactions\n .filter(\n (\n tx\n ): tx is Override<\n typeof tx,\n { unsignedTransaction: string }\n > => !!tx.unsignedTransaction\n )\n .map((tx, i) =>\n EitherAsync(() =>\n transactionConstruct(tx.id, {\n gasArgs: gasModeValue\n .map((val) => val.gasArgs)\n .extract(),\n })\n )\n .mapLeft(() => new TransactionConstructError())\n .chain((tx) => {\n if (tx.unsignedTransaction) {\n return sendTransaction(\n tx.unsignedTransaction,\n i\n ).chain((val) =>\n EitherAsync(() =>\n transactionSubmitHash(tx.id, {\n hash: val.hash,\n })\n ).mapLeft(() => new SubmitError())\n );\n }\n\n return EitherAsync.liftEither(Right(undefined));\n })\n )\n )\n )\n .caseOf({\n Left: (l) => {\n console.log(l);\n setContext((ctx) => ({ ...ctx, signError: l }));\n send(\"SIGN_ERROR\");\n },\n Right: () => send({ type: \"SIGN_SUCCESS\", id }),\n });\n },\n },\n signError: {\n on: { SIGN_RETRY: \"signLoading\" },\n },\n txCheckLoading: {\n on: {\n TX_CHECK_SUCCESS: \"done\",\n TX_CHECK_ERROR: \"txCheckError\",\n TX_CHECK_RETRY: \"txCheckRetry\",\n },\n effect: ({ send, event, setContext }) => {\n const id = event.id;\n\n EitherAsync(() => stakeGetStakeSession(id))\n .mapLeft(() => new GetStakeSessionError())\n .chain((val) => EitherAsync.liftEither(getValidStakeSessionTx(val)))\n .chain((val) =>\n EitherAsync.sequence(\n val.transactions.map((tx) =>\n EitherAsync(() =>\n transactionGetTransactionStatusFromId(tx.id)\n )\n .mapLeft(() => new MissingHashError())\n .chain((result) =>\n EitherAsync.liftEither(\n isTxError(result)\n ? Left(new SubmitError())\n : Right({\n result,\n isConfirmed: result.status === \"CONFIRMED\",\n })\n )\n )\n )\n )\n )\n .caseOf({\n Left: (l) => {\n console.log(l);\n setContext((ctx) => ({ ...ctx, txCheckError: l }));\n send(\"TX_CHECK_ERROR\");\n },\n Right: (v) => {\n if (v.every((val) => val.isConfirmed)) {\n setContext((ctx) => ({\n ...ctx,\n urls: v.map((val) => val.result.url),\n }));\n send(\"TX_CHECK_SUCCESS\");\n } else {\n send({ type: \"TX_CHECK_RETRY\", id });\n }\n },\n });\n },\n },\n txCheckRetry: {\n on: { TX_CHECK_RETRY: \"txCheckLoading\" },\n effect: ({ send, event, setContext }) => {\n const id = event.id;\n\n const timeoutHandler = setTimeout(() => {\n send({ type: \"TX_CHECK_RETRY\", id });\n }, 4000);\n\n setContext((ctx) => ({\n ...ctx,\n txCheckTimeoutId: timeoutHandler as unknown as number,\n }));\n },\n },\n txCheckError: {\n on: { TX_CHECK_RETRY: \"txCheckLoading\" },\n },\n done: {},\n },\n });\n};\n", "import { Console } from \".\"\nimport { R } from \"./extras\"\n\nexport type UseStateMachine =\n <D extends Machine.Definition<D>>(definition: A.InferNarrowestObject<D>) =>\n [ state: Machine.State<Machine.Definition.FromTypeParamter<D>>\n , send: Machine.Send<Machine.Definition.FromTypeParamter<D>>\n ]\n\nexport const $$t = Symbol(\"$$t\");\ntype $$t = typeof $$t;\nexport type CreateType =\n <T>() => { [$$t]: T }\n\nexport namespace Machine {\n export type Definition<\n Self,\n States = A.Get<Self, \"states\">,\n ContextSchema = A.Get<Self, [\"schema\", \"context\", $$t]>,\n HasContextSchema = Self extends { schema: { context: unknown } } ? true : false\n > =\n & { initial:\n A.IsUnknown<States> extends true\n ? LS.ConcatAll<\n [ \"Oops you have met a TypeScript limitation, \"\n , \"please add `on: {}` to state nodes that only have an `effect` property. \"\n , \"See the documentation to learn more.\"\n ]> :\n [keyof States] extends [never]\n ? A.CustomError<\"Error: no states defined\", A.Get<Self, \"initial\">>\n : keyof States\n , states:\n { [StateIdentifier in keyof States]:\n StateIdentifier extends A.String\n ? Definition.StateNode<Self, [\"states\", StateIdentifier]>\n : A.CustomError<\"Error: Only string identifiers allowed\", States[StateIdentifier]>\n }\n , on?: Definition.On<Self, [\"on\"]>\n , schema?: Definition.Schema<Self, [\"schema\"]>\n , verbose?: boolean\n , console?: Console\n , $$internalIsConstraint?:\n A.CustomError<\n \"Error: Ignore, it's for internal types usage\",\n A.Get<Self, \"$$internalIsConstraint\">\n >\n }\n & ( ContextSchema extends undefined\n ? HasContextSchema extends true\n ? { context?: undefined }\n : { context?: unknown }\n : { context: ContextSchema }\n )\n\n interface DefinitionImp\n { initial: StateValue.Impl\n , states: R.Of<StateValue.Impl, Definition.StateNode.Impl>\n , on?: Definition.On.Impl\n , schema?: { context?: null, events?: R.Of<Event.Impl[\"type\"], null> }\n , verbose?: boolean\n , console?: Console\n , context?: Context.Impl\n }\n\n export namespace Definition {\n export type Impl = DefinitionImp\n \n export type FromTypeParamter<D> =\n \"$$internalIsConstraint\" extends keyof D\n ? D extends infer X ? X extends Definition<infer X> ? X : never : never\n : D\n\n export interface StateNode<D, P>\n { on?: On<D, L.Concat<P, [\"on\"]>>\n , effect?: Effect<D, L.Concat<P, [\"effect\"]>>\n }\n\n interface StateNodeImpl\n { on?: On.Impl\n , effect?: Effect.Impl\n }\n export namespace StateNode {\n export type Impl = StateNodeImpl\n }\n\n export type On<\n D, P, Self = A.Get<D, P>,\n EventsSchema = A.Get<D, [\"schema\", \"events\"], {}>,\n EventTypeConstraint =\n A.Get<EventsSchema, ExhaustiveIdentifier, false> extends true\n ? U.Exclude<keyof EventsSchema, ExhaustiveIdentifier>\n : A.String\n > =\n { [EventType in keyof Self]:\n A.DoesExtend<EventType, A.String> extends false\n ? A.CustomError<\"Error: only string types allowed\", A.Get<Self, EventType>> :\n EventType extends ExhaustiveIdentifier\n ? A.CustomError<\n `Error: '${ExhaustiveIdentifier}' is a reserved name`,\n A.Get<Self, EventType>\n > :\n EventType extends InitialEventType\n ? A.CustomError<\n `Error: '${InitialEventType}' is a reserved type`,\n A.Get<Self, EventType>\n > :\n A.DoesExtend<EventType, EventTypeConstraint> extends false\n ? A.CustomError<\n LS.ConcatAll<\n [ `Error: Event type '${S.Assert<EventType>}' is not found in schema.events `\n , \"which is marked as exhaustive\"\n ]>,\n A.Get<Self, EventType>\n > :\n Transition<D, L.Concat<P, [EventType]>>\n }\n \n type OnImpl = R.Of<Event.Impl[\"type\"], Transition.Impl>\n export namespace On {\n export type Impl = OnImpl;\n }\n\n export type Transition<D, P,\n TargetString = Machine.StateValue<D>,\n Event = { type: L.Pop<P> }\n > =\n | TargetString\n | { target: TargetString\n , guard?:\n ( parameter:\n { context: Machine.Context<D>\n , event: U.Extract<Machine.Event<D>, Event>\n }\n ) => boolean\n }\n\n type TransitionImpl =\n | State.Impl[\"value\"]\n | { target: State.Impl[\"value\"]\n , guard?:\n ( parameter:\n { context: State.Impl[\"context\"]\n , event: State.Impl[\"event\"]\n }\n ) => boolean\n }\n export namespace Transition {\n export type Impl = TransitionImpl\n }\n \n\n export type Effect<D, P, StateValue = L.Pop<L.Popped<P>>> = \n (parameter: EffectParameterForStateValue<D, StateValue>) =>\n | void\n | ((parameter: EffectCleanupParameterForStateValue<D, StateValue>) => void)\n \n type EffectImpl =\n (parameter: EffectParameter.Impl) =>\n | void\n | ((parameter: EffectParameter.Cleanup.Impl) => void)\n export namespace Effect {\n export type Impl = EffectImpl; \n }\n\n\n export type Schema<D, P, Self = A.Get<D, P>,\n ContextSchema = A.Get<Self, \"context\">,\n EventsSchema = A.Get<Self, \"events\">\n > =\n { context?:\n A.DoesExtend<ContextSchema, { [$$t]: unknown }> extends false\n ? A.CustomError<\n \"Error: Use `t` to define type, eg `t<{ foo: number }>()`\",\n ContextSchema\n > :\n ContextSchema\n , events?:\n { [Type in keyof EventsSchema]:\n Type extends Definition.ExhaustiveIdentifier\n ? boolean :\n Type extends Definition.InitialEventType\n ? A.CustomError<\n `Error: '${Definition.InitialEventType}' is a reserved type`,\n A.Get<EventsSchema, Type>\n > :\n A.DoesExtend<Type, A.String> extends false\n ? A.CustomError<\n \"Error: Only string types allowed\",\n A.Get<EventsSchema, Type>\n > :\n A.Get<EventsSchema, Type> extends infer PayloadWrapped\n ? A.DoesExtend<PayloadWrapped, { [$$t]: unknown }> extends false\n ? A.CustomError<\n \"Error: Use `t` to define payload type, eg `t<{ foo: number }>()`\",\n A.Get<EventsSchema, Type>\n > :\n A.Get<PayloadWrapped, $$t> extends infer Payload\n ? A.IsPlainObject<Payload> extends false\n ? A.CustomError<\n \"Error: An event payload should be an object, eg `t<{ foo: number }>()`\",\n A.Get<EventsSchema, Type>\n > :\n \"type\" extends keyof Payload\n ? A.CustomError<\n LS.ConcatAll<\n [ \"Error: An event payload cannot have a property `type` as it's already defined. \"\n , `In this case as '${S.Assert<Type>}'`\n ]>,\n A.Get<EventsSchema, Type>\n > :\n A.Get<EventsSchema, Type>\n : never\n : never\n }\n }\n\n export type ExhaustiveIdentifier = \"$$exhaustive\"\n export type InitialEventType = \"$$initial\";\n }\n\n export type StateValue<D> =\n keyof A.Get<D, \"states\">\n\n export type InitialStateValue<D> =\n A.Get<D, \"initial\">\n\n type StateValueImpl = string & A.Tag<\"Machine.StateValue\">\n export namespace StateValue {\n export type Impl = StateValueImpl;\n }\n \n export type Context<D> =\n A.Get<D, [\"schema\", \"context\", $$t], A.Get<D, \"context\">>\n\n type ContextImpl = {} & A.Tag<\"Machine.Context\">\n export namespace Context {\n export type Impl = ContextImpl;\n }\n\n export type Event<D, EventsSchema = A.Get<D, [\"schema\", \"events\"], {}>> = \n | O.Value<{ [T in U.Exclude<keyof EventsSchema, Definition.ExhaustiveIdentifier>]:\n A.Get<EventsSchema, [T, $$t]> extends infer E\n ? E extends any ? O.ShallowClean<{ type: T } & E> : never\n : never\n }>\n | ( A.Get<EventsSchema, Definition.ExhaustiveIdentifier, false> extends true ? never :\n ( ( O.Value<\n { [S in keyof A.Get<D, \"states\">]:\n keyof A.Get<D, [\"states\", S, \"on\"]>\n }> extends infer EventType\n ? EventType extends any ? { type: EventType } : never\n : never\n )\n | ( keyof A.Get<D, \"on\"> extends infer EventType\n ? EventType extends any ? { type: EventType } : never\n : never\n )\n ) extends infer InferredEvent\n ? InferredEvent extends any\n ? A.Get<InferredEvent, \"type\"> extends keyof EventsSchema ? never :\n A.Get<InferredEvent, \"type\"> extends Definition.ExhaustiveIdentifier ? never :\n A.Get<InferredEvent, \"type\"> extends Definition.InitialEventType ? never :\n InferredEvent\n : never\n : never\n )\n \n type EventImpl = { type: string & A.Tag<\"Machine.Event['type']\"> }\n export namespace Event {\n export type Impl = EventImpl\n }\n\n export namespace EffectParameter {\n export interface EffectParameterForStateValue<D, StateValue>\n extends Base<D>\n { event: Machine.EntryEventForStateValue<D, StateValue>\n }\n\n export namespace Cleanup {\n export interface ForStateValue<D, StateValue>\n extends Base<D>\n { event: Machine.ExitEventForStateValue<D, StateValue>\n }\n \n export type Impl = EffectParameter.Impl\n }\n\n export interface Base<D>\n { send: Machine.Send<D>\n , context: Machine.Context<D>\n , setContext: Machine.SetContext<D>\n }\n \n export type Impl = EffectParameterImpl;\n }\n export interface EffectParameterImpl\n { event: Event.Impl\n , send: Send.Impl\n , context: Context.Impl\n , setContext: SetContext.Impl\n }\n\n export interface EffectParameterForStateValue<D, StateValue>\n extends BaseEffectParameter<D>\n { event: Machine.EntryEventForStateValue<D, StateValue>\n }\n\n export interface EffectCleanupParameterForStateValue<D, StateValue>\n extends BaseEffectParameter<D>\n { event: Machine.ExitEventForStateValue<D, StateValue>\n }\n\n export interface BaseEffectParameter<D>\n { send: Machine.Send<D>\n , context: Machine.Context<D>\n , setContext: Machine.SetContext<D>\n }\n\n export type EntryEventForStateValue<D, StateValue> =\n | ( StateValue extends InitialStateValue<D>\n ? { type: Definition.InitialEventType }\n : never\n )\n | U.Extract<\n Event<D>,\n { type:\n | O.Value<{ [S in keyof A.Get<D, \"states\">]:\n O.Value<{ [E in keyof A.Get<D, [\"states\", S, \"on\"]>]:\n A.Get<D, [\"states\", S, \"on\", E]> extends infer T\n ? (T extends A.String ? T : A.Get<T, \"target\">) extends StateValue\n ? E\n : never\n : never\n }>\n }>\n | O.Value<{ [E in keyof A.Get<D, [\"on\"]>]:\n A.Get<D, [\"on\", E]> extends infer T\n ? (T extends A.String ? T : A.Get<T, \"target\">) extends StateValue\n ? E\n : never\n : never\n }>\n }\n >\n\n export type ExitEventForStateValue<D, StateValue> =\n U.Extract<\n Event<D>,\n { type:\n | keyof A.Get<D, [\"states\", StateValue, \"on\"], {}>\n | keyof A.Get<D, \"on\", {}>\n }\n >\n\n export type Sendable<D, E = Event<D>> =\n | ( E extends any\n ? { type: A.Get<E, \"type\"> } extends E\n ? A.Get<E, \"type\">\n : never\n : never\n )\n | E\n type SendableImpl = \n | Event.Impl[\"type\"]\n | Event.Impl\n export namespace Sendable {\n export type Impl = SendableImpl; \n }\n\n export type Send<D> =\n { (sendable: U.Exclude<Sendable<D>, A.String>): void\n , (sendable: U.Extract<Sendable<D>, A.String>): void\n }\n\n type SendImpl = (send: Sendable.Impl) => void\n export namespace Send {\n export type Impl = SendImpl;\n }\n\n export type SetContext<D> =\n (contextUpdater: ContextUpdater<D>) => { send: Send<D> }\n \n export type SetContextImpl =\n (context: ContextUpdater.Impl) => { send: Send.Impl }\n export namespace SetContext {\n export type Impl = SetContextImpl;\n }\n\n export type ContextUpdater<D> = (context: Context<D>) => Context<D>\n\n type ContextUpdaterImpl = (context: Context.Impl) => Context.Impl\n export namespace ContextUpdater {\n export type Impl = ContextUpdaterImpl;\n }\n\n export type State<D,\n Value = StateValue<D>,\n NextEvents =\n ( Value extends any\n ? A.Get<ExitEventForStateValue<D, Value>, \"type\">\n : never\n )[]\n > =\n Value extends any\n ? { value: Value\n , context: Context<D>\n , event: EntryEventForStateValue<D, Value>\n , nextEventsT: A.Get<ExitEventForStateValue<D, Value>, \"type\">[]\n , nextEvents: NextEvents\n }\n : never\n \n interface StateImpl\n { value: StateValue.Impl\n , context: Context.Impl\n , event: Event.Impl\n , nextEvents: Event.Impl[\"type\"][]\n , nextEventsT: Event.Impl[\"type\"][]\n }\n export namespace State {\n export type Impl = StateImpl\n }\n}\n\nexport namespace L {\n export type Assert<T> = A.Cast<T, A.Tuple>;\n export type Concat<A, B> = [...L.Assert<A>, ...L.Assert<B>]\n export type Popped<A> = A extends [] ? [] : A extends [...infer X, any] ? X : never;\n export type Pop<A> = A extends [] ? undefined : A extends [...any[], infer X] ? X : never; \n}\nexport namespace LS {\n export type ConcatAll<L> =\n L extends [] ? [] :\n L extends [infer H] ? H :\n L extends [infer H, ...infer T] ? `${S.Assert<H>}${S.Assert<ConcatAll<T>>}` :\n never\n}\n\nexport namespace S {\n export type Assert<T> = A.Cast<T, A.String>;\n export type IsLiteral<T> =\n T extends A.String\n ? A.String extends T\n ? false\n : true\n : false;\n}\n\nexport namespace F {\n export type Call<F> = F extends (...args: any[]) => infer R ? R : never;\n export type Parameters<F> = F extends (...args: infer A) => any ? A : never;\n}\n\nexport namespace U {\n export type Extract<T, U> = T extends U ? T : never;\n export type Exclude<T, U> = T extends U ? never : T;\n}\n\nexport namespace O {\n export type Value<T> = T[keyof T];\n export type ShallowClean<T> = { [K in keyof T]: T[K] }\n}\n\nexport namespace A {\n export type Cast<T, U> = T extends U ? T : U;\n export type Fallback<T, U> = T extends U ? T : U;\n export type Tuple<T = any> = T[] | [T];\n export type Object = object;\n export type String = string;\n export type Function = (...args: any[]) => any;\n\n export type InferNarrowest<T> =\n T extends any\n ? ( T extends A.Function ? T :\n T extends A.Object ? InferNarrowestObject<T> :\n T\n )\n : never\n \n export type InferNarrowestObject<T> =\n { readonly [K in keyof T]: InferNarrowest<T[K]> }\n\n export type AreEqual<A, B> =\n (<T>() => T extends B ? 1 : 0) extends (<T>() => T extends A ? 1 : 0)\n ? true\n : false;\n\n export type DoesExtend<A, B> =\n A extends B ? true : false;\n\n export type IsUnknown<T> =\n [T] extends [never]\n ? false\n : T extends unknown ? unknown extends T\n ? true\n : false : false;\n\n export type IsPlainObject<T> =\n T extends A.Object\n ? T extends A.Function ? false :\n T extends A.Tuple ? false :\n true\n : false\n\n type _Get<T, P, F> =\n P extends [] ?\n T extends undefined ? F : T :\n P extends [infer K1, ...infer Kr] ?\n K1 extends keyof T ?\n _Get<T[K1], Kr, F> :\n K1 extends Get.Returned$$ ?\n _Get<T extends (...a: any[]) => infer R ? R : undefined, Kr, F> :\n K1 extends Get.Parameters$$ ?\n _Get<T extends (...a: infer A) => any ? A : undefined, Kr, F> :\n F :\n never\n\n export type Get<T, P, F = undefined> =\n (P extends any[] ? _Get<T, P, F> : _Get<T, [P], F>) extends infer X\n ? A.Cast<X, any>\n : never\n\n export namespace Get {\n const Returned$$ = Symbol(\"Returned$$\");\n export type Returned$$ = typeof Returned$$;\n\n const Parameters$$ = Symbol(\"Parameters$$\");\n export type Parameters$$ = typeof Parameters$$;\n }\n\n export type CustomError<Error, Place> =\n Place extends (S.IsLiteral<Place> extends true ? Error : A.String)\n ? Place extends `${S.Assert<Error>} `\n ? Error\n : `${S.Assert<Error>} `\n : Error\n\n export type Tag<N extends A.String> =\n { [_ in N]: void }\n\n export const test = (_o: true) => {};\n export const areEqual = <A, B>(_debug?: (value: A) => void) => undefined as any as A.AreEqual<A, B>\n}\n", "import { useRef } from \"react\";\n\nexport const R = {\n get: <R extends R.Unknown>(r: R, k: R.Key<R>) => (r as any)[k] as R.Value<R> | undefined,\n concat: <R1 extends R.Unknown, R2 extends R.Unknown>(r1: R1, r2: R2) =>\n (({ ...r1, ...r2 } as any) as R.Concat<R1, R2>),\n fromMaybe: <R extends R.Unknown>(r: R | undefined) => r ?? ({} as R),\n keys: <R extends R.Unknown>(r: R) => Object.keys(r) as R.Key<R>[]\n};\n\nconst $$K = Symbol(\"R.$$K\");\nconst $$V = Symbol(\"R.$$V\");\nexport namespace R {\n export type $$K = typeof $$K;\n export type $$V = typeof $$V;\n\n export type Of<K extends string, V> = { [$$K]: K, [$$V]: V };\n export type Unknown = Of<string, unknown>\n\n export type Key<R extends R.Unknown> = R[$$K]\n export type Value<R extends R.Unknown> = R[$$V];\n export type Concat<R1 extends R.Unknown, R2 extends R.Unknown> = R.Of<\n R.Key<R1> | R.Key<R2>,\n R.Value<R1> | R.Value<R2>\n >;\n}\n\nexport const useConstant = <T>(compute: () => T): T => {\n const ref = useRef<T | null>(null);\n if (ref.current === null) ref.current = compute();\n return ref.current;\n};\n\nexport const assertNever = (_value: never): never => {\n throw new Error(\"Invariant: assertNever was called\");\n};\n", "import { useEffect, useReducer } from \"react\";\nimport { UseStateMachine, Machine, $$t } from \"./types\";\nimport { assertNever, R, useConstant } from \"./extras\";\n\nconst useStateMachineImpl = (definition: Machine.Definition.Impl) => {\n const [state, dispatch] = useReducer(createReducer(definition), createInitialState(definition));\n\n const send = useConstant(() => (sendable: Machine.Sendable.Impl) => dispatch({ type: \"SEND\", sendable }));\n\n const setContext = (updater: Machine.ContextUpdater.Impl) => {\n dispatch({ type: \"SET_CONTEXT\", updater });\n return { send };\n };\n\n useEffect(() => {\n const entry = R.get(definition.states, state.value)!.effect;\n let exit = entry?.({\n send,\n setContext,\n event: state.event,\n context: state.context,\n });\n\n return typeof exit === \"function\"\n ? () => exit?.({ send, setContext, event: state.event, context: state.context })\n : undefined;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [state.value, state.event]);\n\n return [state, send];\n};\n\nconst createInitialState = (definition: Machine.Definition.Impl): Machine.State.Impl => {\n let nextEvents = R.keys(R.concat(\n R.fromMaybe(R.get(definition.states, definition.initial)!.on),\n R.fromMaybe(definition.on)\n ))\n return {\n value: definition.initial,\n context: definition.context as Machine.Context.Impl,\n event: { type: \"$$initial\" } as Machine.Event.Impl,\n nextEvents: nextEvents,\n nextEventsT: nextEvents\n }\n}\n\nconst createReducer = (definition: Machine.Definition.Impl) => {\n let log = createLogger(definition);\n return (machineState: Machine.State.Impl, internalEvent: InternalEvent): Machine.State.Impl => {\n if (internalEvent.type === \"SET_CONTEXT\") {\n let nextContext = internalEvent.updater(machineState.context);\n log(\"Context update\", [\"Previous Context\", machineState.context], [\"Next Context\", nextContext]);\n\n return { ...machineState, context: nextContext };\n }\n\n if (internalEvent.type === \"SEND\") {\n let sendable = internalEvent.sendable;\n let event = typeof sendable === \"string\" ? { type: sendable } : sendable;\n let context = machineState.context;\n let stateNode = R.get(definition.states, machineState.value)!;\n let resolvedTransition =\n R.get(R.fromMaybe(stateNode.on), event.type) ?? R.get(R.fromMaybe(definition.on), event.type);\n\n if (!resolvedTransition) {\n log(\n `Current state doesn't listen to event type \"${event.type}\".`,\n [\"Current State\", machineState],\n [\"Event\", event]\n );\n return machineState;\n }\n\n let [nextStateValue, didGuardDeny = false] = (() => {\n if (typeof resolvedTransition === \"string\") return [resolvedTransition];\n if (resolvedTransition.guard === undefined) return [resolvedTransition.target];\n if (resolvedTransition.guard({ context, event })) return [resolvedTransition.target];\n return [resolvedTransition.target, true]\n })() as [Machine.StateValue.Impl, true?]\n\n if (didGuardDeny) {\n log(\n `Transition from \"${machineState.value}\" to \"${nextStateValue}\" denied by guard`,\n [\"Event\", event],\n [\"Context\", context]\n );\n return machineState;\n }\n log(`Transition from \"${machineState.value}\" to \"${nextStateValue}\"`, [\"Event\", event]);\n\n let resolvedStateNode = R.get(definition.states, nextStateValue)!;\n\n let nextEvents = R.keys(R.concat(\n R.fromMaybe(resolvedStateNode.on),\n R.fromMaybe(definition.on)\n ));\n return {\n value: nextStateValue,\n context,\n event,\n nextEvents,\n nextEventsT: nextEvents\n };\n }\n\n return assertNever(internalEvent);\n };\n};\n\ninterface SetContextEvent {\n type: \"SET_CONTEXT\";\n updater: Machine.ContextUpdater.Impl;\n}\n\ninterface SendEvent {\n type: \"SEND\";\n sendable: Machine.Sendable.Impl;\n}\n\ntype InternalEvent = SetContextEvent | SendEvent;\n\nexport type Console =\n { log: (a: string, b: string | object) => void\n , groupCollapsed?: (...l: string[]) => void\n , groupEnd?: () => void\n }\n\n// test sub-typing\nconst defaultConsole: Console = console\n\nconst createLogger = (definition: Machine.Definition.Impl) => (groupLabel: string, ...nested: [string, string | object][]) => {\n if (!definition.verbose) return;\n \n let console = definition.console || defaultConsole\n if (process.env.NODE_ENV === \"development\" || process.env.NODE_ENV === \"test\") {\n console.groupCollapsed?.(\"%cuseStateMachine\", \"color: #888; font-weight: lighter;\", groupLabel);\n nested.forEach(message => {\n console.log(message[0], message[1]);\n });\n console.groupEnd?.();\n }\n};\n\nconst useStateMachine = useStateMachineImpl as unknown as UseStateMachine;\nexport default useStateMachine;\n\nexport const t = <T extends unknown>() => ({ [$$t]: undefined as T })\n", "import { vars } from \"../../../styles\";\n\nexport const CheckSteps = (props: { hw?: number }) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 448 512\"\n fill={vars.color.white}\n height={props.hw ?? 24}\n width={props.hw ?? 24}\n >\n <path d=\"M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7l233.4-233.3c12.5-12.5 32.8-12.5 45.3 0z\" />\n </svg>\n);\n", "import 'src/styles/theme/atoms.css.ts.vanilla.css?source=#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';\nimport 'src/pages/steps/styles.css.ts.vanilla.css?source=LnN0eWxlc19zdGVwc0FmdGVyX18xbnI0ZmE5MDphZnRlciB7CiAgY29udGVudDogJyc7CiAgYmFja2dyb3VuZDogdmFyKC0tc2stY29sb3ItdGV4dCk7CiAgaGVpZ2h0OiB2YXIoLS1zay1zcGFjZS0zKTsKICB3aWR0aDogdmFyKC0tc2stc3BhY2UtMSk7Cn0KLnN0eWxlc19zdGVwc0FmdGVyTXV0ZWRfXzFucjRmYTkxOmFmdGVyIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1zay1jb2xvci10ZXh0LW11dGVkKTsKfQouc3R5bGVzX3N0ZXBzQmVmb3JlX18xbnI0ZmE5MjpiZWZvcmUgewogIGNvbnRlbnQ6ICcnOwogIGJhY2tncm91bmQ6IHZhcigtLXNrLWNvbG9yLXRleHQpOwogIGhlaWdodDogdmFyKC0tc2stc3BhY2UtMyk7CiAgd2lkdGg6IHZhcigtLXNrLXNwYWNlLTEpOwp9Ci5zdHlsZXNfc3RlcHNCZWZvcmVNdXRlZF9fMW5yNGZhOTM6YmVmb3JlIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1zay1jb2xvci10ZXh0LW11dGVkKTsKfQouc3R5bGVzX2hhbGZPcGFjaXR5QWZ0ZXJfXzFucjRmYTk0OmFmdGVyIHsKICBvcGFjaXR5OiAwLjU7Cn0=';\nexport var halfOpacityAfter = 'styles_halfOpacityAfter__1nr4fa94';\nexport var stepsAfter = 'styles_stepsAfter__1nr4fa90';\nexport var stepsAfterMuted = 'styles_stepsAfterMuted__1nr4fa91 styles_stepsAfter__1nr4fa90';\nexport var stepsBefore = 'styles_stepsBefore__1nr4fa92';\nexport var stepsBeforeMuted = 'styles_stepsBeforeMuted__1nr4fa93 styles_stepsBefore__1nr4fa92';", "import useStateMachine, { t } from \"@cassiozen/usestatemachine\";\nimport { $$t } from \"@cassiozen/usestatemachine/dist/types\";\nimport { useAccount, useConnect } from \"wagmi\";\nimport { InjectedConnector } from \"@wagmi/connectors/injected\";\nimport { isRNWebViewContext } from \"../utils\";\n\nconst tt = t as <T extends unknown>() => {\n [$$t]: T;\n};\n\nexport const useWebViewConnectMachine = () => {\n const { isConnected } = useAccount();\n const { connectors, connect } = useConnect();\n\n return useStateMachine({\n schema: { context: tt<{ timeoutId: number | null }>() },\n initial: \"connect\",\n context: { timeoutId: null },\n states: {\n connect: {\n on: { DONE: \"done\" },\n effect: ({ send }) => {\n const injConn = connectors.find(\n (c) => c instanceof InjectedConnector\n );\n\n if (injConn && isRNWebViewContext()) {\n connect({ connector: injConn });\n }\n\n return send(\"DONE\");\n },\n },\n done: {\n on: { CONNECT: \"connect\" },\n effect: ({ send, context, setContext }) => {\n if (isConnected || !isRNWebViewContext()) return;\n\n if (context.timeoutId) clearTimeout(context.timeoutId);\n\n // Retry in 30 seconds\n const newTimeoutId = setTimeout(() => {\n send(\"CONNECT\");\n }, 1000 * 30);\n\n setContext((prev) => ({\n ...prev,\n timeoutId: newTimeoutId as unknown as number,\n }));\n },\n },\n },\n });\n};\n", "import { useCallback, useEffect, useState } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { fadeIn, fadeOut } from \"./style.css\";\nimport { config } from \"../../config\";\n\nconst transitions = {\n fadeIn,\n fadeOut,\n};\n\nexport const useLocationTransitionAnimation = () => {\n const location = useLocation();\n const [displayLocation, setDisplayLocation] = useState(location);\n const [transitionStage, setTransitionStage] =\n useState<keyof typeof transitions>(\"fadeIn\");\n\n useEffect(() => {\n if (location !== displayLocation) setTransitionStage(\"fadeOut\");\n }, [location, displayLocation]);\n\n const onAnimationEnd = useCallback(() => {\n if (transitionStage === \"fadeOut\") {\n setTransitionStage(\"fadeIn\");\n setDisplayLocation(location);\n }\n }, [location, transitionStage]);\n\n return {\n displayLocation: config.isTestMode ? location : displayLocation,\n onAnimationEnd,\n transitionClassName:\n transitionStage === \"fadeIn\" ? transitions.fadeIn : transitions.fadeOut,\n };\n};\n", "import 'src/hooks/use-location-transition-animation/style.css.ts.vanilla.css?source=QGtleWZyYW1lcyBzdHlsZV9mYWRlSW5BbmltYXRpb25fXzEzMjAxcXQwIHsKICBmcm9tIHsKICAgIG9wYWNpdHk6IDA7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjBweCwgMCk7CiAgfQogIHRvIHsKICAgIG9wYWNpdHk6IDE7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIDBweCk7CiAgfQp9CkBrZXlmcmFtZXMgc3R5bGVfZmFkZU91dEFuaW1hdGlvbl9fMTMyMDFxdDEgewogIGZyb20gewogICAgb3BhY2l0eTogMTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgMHB4KTsKICB9CiAgdG8gewogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTIwcHgsIDApOwogICAgb3BhY2l0eTogMDsKICB9Cn0KLnN0eWxlX2ZhZGVJbl9fMTMyMDFxdDIgewogIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4zczsKICBhbmltYXRpb24tbmFtZTogc3R5bGVfZmFkZUluQW5pbWF0aW9uX18xMzIwMXF0MDsKICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsKfQouc3R5bGVfZmFkZU91dF9fMTMyMDFxdDMgewogIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4zczsKICBhbmltYXRpb24tbmFtZTogc3R5bGVfZmFkZU91dEFuaW1hdGlvbl9fMTMyMDFxdDE7CiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7Cn0=';\nexport var fadeIn = 'style_fadeIn__13201qt2';\nexport var fadeOut = 'style_fadeOut__13201qt3';", "import 'src/styles/theme/atoms.css.ts.vanilla.css?source=#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';\nimport 'src/pages/positions/styles.css.ts.vanilla.css?source=LnN0eWxlc19kaXZpZGVyX190MW5lbzcwIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zay1jb2xvci1wb3NpdGlvbnMtc2VjdGlvbi1kaXZpZGVyLWNvbG9yKTsKfQouc3R5bGVzX21haW5Db250YWluZXJfX3QxbmVvNzEgewogIGJvcmRlci1yYWRpdXM6IDI0cHg7CiAgbWF4LWhlaWdodDogNTAwcHg7CiAgbWluLXdpZHRoOiA3MDBweDsKICBvdmVyZmxvdzogc2Nyb2xsOwogIGJvcmRlci13aWR0aDogMnB4OwogIGJvcmRlci1zdHlsZTogc29saWQ7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1zay1jb2xvci1wb3NpdGlvbnMtc2VjdGlvbi1ib3JkZXItY29sb3IpOwogIG1heC13aWR0aDogOTAwcHg7CiAgZmxleDogMTsKICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7Cn0KLnN0eWxlc19tYWluQ29udGFpbmVyX190MW5lbzcxOjotd2Via2l0LXNjcm9sbGJhciB7CiAgZGlzcGxheTogbm9uZTsKfQouc3R5bGVzX3RvcFRhYmxlQ29udGFpbmVyX190MW5lbzcyIHsKICBkaXNwbGF5OiBncmlkOwogIHJvdy1nYXA6IHZhcigtLXNrLXNwYWNlLTMpOwp9Ci5zdHlsZXNfdGFibGVHcmlkX190MW5lbzczIHsKICBkaXNwbGF5OiBncmlkOwogIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMS41ZnIgMWZyIDFmcjsKfQ==';\nexport var divider = 'styles_divider__t1neo70';\nexport var mainContainer = 'styles_mainContainer__t1neo71';\nexport var tableGrid = 'styles_tableGrid__t1neo73';\nexport var topTableContainer = 'styles_topTableContainer__t1neo72';", "import {\n YieldBalanceWithIntegrationIdRequestDto,\n useStakeGetMultipleIntegrationBalances,\n} from \"@stakekit/api-hooks\";\nimport { useFilteredOpportunities } from \"../../hooks/api/use-filtered-opportunities\";\nimport { useMemo } from \"react\";\nimport { Maybe } from \"purify-ts\";\nimport { useSKWallet } from \"../../hooks/use-sk-wallet\";\n\nexport const usePositions = () => {\n const { data } = useFilteredOpportunities();\n\n const dataMap = useMemo(\n () =>\n Maybe.fromNullable(data)\n .map(\n (integrations) => new Map(integrations.map((val) => [val.id, val]))\n )\n .extractNullable(),\n [data]\n );\n\n const { address, additionalAddresses } = useSKWallet();\n\n const yieldBalanceWithIntegrationIdRequestDto = useMemo(\n () =>\n Maybe.fromNullable(data)\n .chain((integrations) =>\n Maybe.fromNullable(address).map((addr) => ({ integrations, addr }))\n )\n .map(({ addr, integrations }) =>\n integrations.map(\n (int): YieldBalanceWithIntegrationIdRequestDto => ({\n addresses: {\n address: addr,\n additionalAddresses: additionalAddresses ?? undefined,\n },\n integrationId: int.id,\n })\n )\n )\n .orDefault([]),\n [data, address, additionalAddresses]\n );\n\n const stakeGetMultipleIntegrationBalances =\n useStakeGetMultipleIntegrationBalances(\n yieldBalanceWithIntegrationIdRequestDto,\n { query: { enabled: !!yieldBalanceWithIntegrationIdRequestDto.length } }\n );\n\n const tableData = useMemo(\n () =>\n stakeGetMultipleIntegrationBalances.data?.flatMap((val) =>\n val.balances\n .filter((b) => b.type === \"staked\")\n .map((b) => ({ ...val, ...b }))\n ),\n [stakeGetMultipleIntegrationBalances.data]\n );\n\n return {\n isLoading: stakeGetMultipleIntegrationBalances.isLoading,\n tableData,\n dataMap,\n };\n};\n", "import { Box, Divider, Heading, Text } from \"../../components\";\nimport { TokenIcon } from \"../../components/atoms/token-icon\";\nimport {\n divider,\n mainContainer,\n tableGrid,\n topTableContainer,\n} from \"./styles.css\";\nimport { usePositions } from \"./use-positions\";\nimport { useTranslation } from \"react-i18next\";\nimport { apyToPercentage } from \"../../utils\";\nimport BigNumber from \"bignumber.js\";\nimport { Fragment } from \"react\";\n\nexport const Positions = () => {\n const { tableData, dataMap } = usePositions();\n\n const { t } = useTranslation();\n\n if (!tableData?.length || !dataMap?.size) return null;\n\n return (\n <Box px=\"8\">\n <Box\n id=\"sk-positions\"\n display={{ mobile: \"none\", tablet: \"block\" }}\n background=\"positionsSectionBackgroundColor\"\n mx=\"8\"\n my=\"4\"\n px=\"4\"\n py=\"4\"\n marginLeft=\"auto\"\n marginRight=\"auto\"\n className={mainContainer}\n >\n <Box marginBottom=\"8\">\n <Heading variant={{ level: \"h3\" }}>{t(\"positions.title\")}</Heading>\n </Box>\n\n <Box className={topTableContainer}>\n <Box className={tableGrid}>\n <Text variant={{ type: \"muted\", size: \"small\" }}>Token</Text>\n <Text variant={{ type: \"muted\", size: \"small\" }}>Staked</Text>\n <Text variant={{ type: \"muted\", size: \"small\" }}>APR</Text>\n </Box>\n\n <Divider className={divider} />\n\n {tableData.map((val, index) => {\n const opData = dataMap.get(val.integrationId);\n\n if (!opData || !val.balances.length) return null;\n\n return (\n <Fragment key={index}>\n <Box className={tableGrid}>\n <Box\n display=\"flex\"\n justifyContent=\"flex-start\"\n alignItems=\"center\"\n >\n <TokenIcon metadata={opData.metadata} token={val.token} />\n\n <Box\n display=\"flex\"\n flexDirection=\"column\"\n justifyContent=\"center\"\n alignItems=\"flex-start\"\n >\n <Text variant={{ size: \"small\" }}>\n {opData.metadata.name}\n </Text>\n <Text variant={{ size: \"small\", type: \"muted\" }}>\n {t(\"positions.via\", {\n providerName: opData.metadata.provider?.name,\n })}\n </Text>\n </Box>\n </Box>\n\n <Box\n display=\"flex\"\n justifyContent=\"flex-start\"\n alignItems=\"center\"\n >\n <Text variant={{ size: \"small\" }}>\n {new BigNumber(val.amount).toFixed(2).toString()}{\" \"}\n {val.token.symbol}\n </Text>\n </Box>\n\n <Box\n display=\"flex\"\n justifyContent=\"flex-start\"\n alignItems=\"center\"\n >\n <Text variant={{ size: \"small\" }}>\n {apyToPercentage(opData.apy)}%\n </Text>\n </Box>\n </Box>\n\n {tableData.length - 1 !== index && (\n <Divider className={divider} />\n )}\n </Fragment>\n );\n })}\n </Box>\n </Box>\n </Box>\n );\n};\n", "import { QueryClientProvider } from \"@tanstack/react-query\";\nimport { PropsWithChildren, StrictMode, useState } from \"react\";\nimport { MemoryRouter } from \"react-router-dom\";\nimport { queryClient } from \"../services/query-client\";\nimport { AppStateProvider, DerivedAppStateProvider } from \"../state/\";\nimport { APIManager, StakeKitQueryProvider } from \"@stakekit/api-hooks\";\nimport { config } from \"../config\";\nimport { EVMProvider } from \"./ethereum/provider\";\nimport { CosmosProvider } from \"./cosmos/provider\";\nimport { ThemeWrapper } from \"./theme-wrapper\";\nimport { useSettings } from \"./settings\";\n\nexport const Providers = ({ children }: PropsWithChildren) => {\n const { apiKey } = useSettings();\n\n useState(() =>\n APIManager.configure({\n apiKey: apiKey,\n baseURL: config.apiUrl,\n queryClientConfig: {\n defaultOptions: {\n queries: {\n cacheTime: config.queryClient.cacheTime,\n staleTime: config.queryClient.staleTime,\n },\n },\n },\n })\n );\n\n return (\n <StrictMode>\n <QueryClientProvider client={queryClient}>\n <StakeKitQueryProvider>\n <CosmosProvider>\n <EVMProvider>\n <MemoryRouter>\n <AppStateProvider>\n <DerivedAppStateProvider>\n <ThemeWrapper>{children}</ThemeWrapper>\n </DerivedAppStateProvider>\n </AppStateProvider>\n </MemoryRouter>\n </EVMProvider>\n </CosmosProvider>\n </StakeKitQueryProvider>\n </QueryClientProvider>\n </StrictMode>\n );\n};\n", "import {\n darkTheme,\n lightTheme,\n Theme,\n RainbowKitProvider,\n} from \"@rainbow-me/rainbowkit\";\nimport merge from \"lodash.merge\";\nimport { PropsWithChildren } from \"react\";\nimport { id, vars } from \"../styles\";\nimport { RecursivePartial } from \"../types\";\nimport { RainbowKitChain } from \"@rainbow-me/rainbowkit/dist/components/RainbowKitProvider/RainbowKitChainContext\";\nimport { usePrefersColorScheme } from \"../hooks\";\nimport { useSettings } from \"./settings\";\n\nconst overrides: RecursivePartial<Theme> = {\n radii: {\n actionButton: vars.borderRadius[\"2xl\"],\n },\n};\n\nconst theme: Theme = {\n lightMode: merge(lightTheme(), overrides),\n darkMode: merge(darkTheme(), overrides),\n};\n\nexport const RainbowKitProviderWithTheme = ({\n children,\n chains,\n}: PropsWithChildren<{\n chains: RainbowKitChain[];\n}>) => {\n const { connectKitForceTheme } = useSettings();\n\n const scheme = usePrefersColorScheme();\n\n return (\n <RainbowKitProvider\n id={id}\n modalSize=\"compact\"\n chains={chains}\n theme={\n connectKitForceTheme\n ? theme[connectKitForceTheme]\n : scheme === \"light\"\n ? theme.lightMode\n : scheme === \"dark\"\n ? theme.darkMode\n : theme\n }\n >\n {children}\n </RainbowKitProvider>\n );\n};\n", "import { APIManager } from \"@stakekit/api-hooks\";\nimport { ThemeWrapperTheme } from \"./theme-wrapper\";\nimport { PropsWithChildren, createContext, useContext, useMemo } from \"react\";\n\nexport interface SettingsContextType {\n apiKey: Parameters<(typeof APIManager)[\"configure\"]>[0][\"apiKey\"];\n theme?: ThemeWrapperTheme;\n connectKitForceTheme?: \"lightMode\" | \"darkMode\";\n}\n\nconst SettingsContext = createContext<SettingsContextType | undefined>(\n undefined\n);\n\nexport const SettingsContextProvider = ({\n children,\n ...rest\n}: PropsWithChildren<SettingsContextType>) => {\n const value = useMemo(() => rest, [rest]);\n\n return (\n <SettingsContext.Provider value={value}>\n {children}\n </SettingsContext.Provider>\n );\n};\n\nexport const useSettings = () => {\n const context = useContext(SettingsContext);\n\n if (!context) {\n throw new Error(\n \"useSettings must be used within a SettingsContextProvider\"\n );\n }\n\n return context;\n};\n", "import { configureChains, createConfig } from \"wagmi\";\nimport { publicProvider } from \"wagmi/providers/public\";\nimport {\n chains as ethChains,\n connector as ethConnector,\n} from \"../ethereum/config\";\nimport {\n connector as cosmosConnector,\n cosmosChainsToWagmiChains,\n} from \"../cosmos/config\";\nimport { isRNWebViewContext } from \"../../utils\";\nimport { connectorsForWallets } from \"@rainbow-me/rainbowkit\";\n\nexport const { chains, publicClient, webSocketPublicClient } = configureChains(\n [...ethChains, ...cosmosChainsToWagmiChains],\n [publicProvider()]\n);\n\nexport const wagmiConfigObj: Parameters<typeof createConfig>[0] = {\n autoConnect: !isRNWebViewContext(),\n connectors: connectorsForWallets([ethConnector, cosmosConnector]),\n publicClient,\n webSocketPublicClient,\n};\n", "import {\n coinbaseWallet,\n injectedWallet,\n omniWallet,\n rainbowWallet,\n walletConnectWallet,\n} from \"@rainbow-me/rainbowkit/wallets\";\nimport {\n arbitrum,\n avalanche,\n celo,\n harmonyOne,\n optimism,\n polygon,\n} from \"viem/chains\";\nimport { mainnet } from \"wagmi\";\nimport { config } from \"../../config\";\nimport { Chain } from \"@rainbow-me/rainbowkit\";\n\nexport const chains: Chain[] = [\n mainnet,\n polygon,\n optimism,\n arbitrum,\n avalanche,\n { ...celo, iconUrl: \"https://cryptologos.cc/logos/celo-celo-logo.svg?v=025\" },\n {\n ...harmonyOne,\n iconUrl: \"https://cryptologos.cc/logos/harmony-one-logo.svg?v=025\",\n },\n];\n\nexport const connector = {\n groupName: \"Ethereum\",\n wallets: [\n injectedWallet({ chains }),\n walletConnectWallet({\n chains,\n options: {\n projectId: config.walletConnectV2.projectId,\n isNewChainsStale: true,\n },\n projectId: config.walletConnectV2.projectId,\n }),\n omniWallet({ chains, projectId: config.walletConnectV2.projectId }),\n rainbowWallet({ chains, projectId: config.walletConnectV2.projectId }),\n coinbaseWallet({ chains, appName: config.appName }),\n ],\n};\n", "import { chains as allChains, assets as allAssets } from \"chain-registry\";\nimport { CosmosNetworks } from \"@stakekit/types\";\nimport { wallets as keplrWallets } from \"@cosmos-kit/keplr\";\nimport { wallets as leapWallets } from \"@cosmos-kit/leap\";\nimport { WalletConnectWallet, walletConnectInfo } from \"./wallet-connect\";\nimport { Address, Chain, Connector, mainnet } from \"wagmi\";\nimport { ChainWalletBase, MainWalletBase } from \"@cosmos-kit/core\";\nimport { EthereumProvider } from \"eip1193-provider\";\nimport { createWalletClient, custom } from \"viem\";\nimport { Wallet } from \"@rainbow-me/rainbowkit\";\n\ntype SetKeys<T> = T extends Set<infer U> ? U : never;\n\nexport const supportedCosmosNetworks = new Map([\n [\"cosmoshub\", \"cosmos\"],\n ...Object.values(CosmosNetworks)\n .filter((val) => val !== CosmosNetworks.Persistence)\n .map((val) => [val, val] as const),\n]);\n\nexport type SupportedCosmosNetworks = SetKeys<typeof supportedCosmosNetworks>;\n\nexport const chains: typeof allChains = allChains.filter((chain) =>\n supportedCosmosNetworks.has(chain.chain_name as SupportedCosmosNetworks)\n);\n\nexport const initialChain: (typeof allChains)[number] = chains.find(\n (c) => c.chain_name === \"cosmoshub\"\n)!;\n\nexport const assets: typeof allAssets = allAssets.filter((asset) =>\n supportedCosmosNetworks.has(asset.chain_name as SupportedCosmosNetworks)\n);\n\nexport const assetSet: Map<\n (typeof allAssets)[number][\"chain_name\"],\n (typeof allAssets)[number]\n> = new Map(assets.map((a) => [a.chain_name, a]));\n\nexport const wcWallet = new WalletConnectWallet(walletConnectInfo);\n\nexport const wallets = [...keplrWallets, ...leapWallets, wcWallet];\n\nexport const cosmosChainsToWagmiChains = chains.map(\n (c) =>\n ({\n ...c,\n id: c.chain_id as unknown as number,\n iconUrl: c.logo_URIs?.png ?? c.logo_URIs?.svg ?? \"\",\n name: c.chain_name,\n network: c.chain_id,\n // TODO: change this\n nativeCurrency: mainnet.nativeCurrency,\n rpcUrls: mainnet.rpcUrls,\n } as Chain)\n);\n\nexport class CosmosWagmiConnector extends Connector {\n readonly id: string;\n readonly name: string;\n\n ready = false;\n\n chainWallet: Promise<ChainWalletBase>;\n\n readonly provider = new EthereumProvider({} as any);\n\n readonly wallet: MainWalletBase;\n\n constructor(opts: { wallet: MainWalletBase }) {\n super({ chains: cosmosChainsToWagmiChains, options: {} });\n this.id = opts.wallet.walletInfo.name;\n this.name = opts.wallet.walletInfo.name;\n this.wallet = opts.wallet;\n this.ready = true;\n\n this.chainWallet = new Promise((res) => {\n setTimeout(() => {\n const cw = this.wallet.chainWalletMap.get(initialChain.chain_name)!;\n this.ready = !!cw.client;\n res(cw);\n }, 1000); // no other way to check if wallet is ready :(\n });\n }\n\n connect = async () => {\n setTimeout(() => this.emit(\"message\", { type: \"connecting\" }), 0);\n\n const cw = await this.chainWallet;\n\n if (cw.address && cw.chainId) {\n return {\n account: cw.address as Address,\n chain: {\n id: cw.chainId as unknown as number,\n unsupported: false,\n },\n };\n }\n\n await cw.connect();\n\n return {\n account: cw.address as Address,\n chain: {\n id: cw.chainId as unknown as number,\n unsupported: false,\n },\n };\n };\n\n switchChain = async (chainId: number) => {\n const chainName = this.chains.find((c) => c.id === chainId)?.name!;\n\n const newCw = this.wallet.getChainWallet(chainName) as ChainWalletBase;\n\n if (!newCw) throw new Error(\"Wallet not found\");\n\n this.chainWallet = Promise.resolve(newCw);\n await this.connect();\n\n const chain = this.chains.find((c) => c.id === chainId);\n\n if (!chain) throw new Error(\"Chain not found\");\n\n this.provider.events.emit(\"chainChanged\", chainId);\n this.onChainChanged(chainId);\n this.onAccountsChanged([newCw.address as Address]);\n\n return chain;\n };\n\n disconnect = async () => (await this.chainWallet).disconnect();\n getAccount = async () => {\n return (await this.chainWallet).address as Address;\n };\n isAuthorized = async () => {\n return !!(await this.chainWallet).address;\n };\n getChainId = async () =>\n (await this.chainWallet).chainId as unknown as number;\n\n getProvider = async () => this.provider;\n\n getWalletClient = async () => {\n const chainId = await this.getChainId();\n const chain = cosmosChainsToWagmiChains.find((c) => c.id === chainId)!;\n const provider = await this.getProvider();\n const account = await this.getAccount();\n\n return createWalletClient({\n account,\n chain,\n name: this.name,\n transport: custom(provider),\n });\n };\n\n protected onAccountsChanged = (accounts: string[]) => {\n if (accounts.length === 0) {\n this.emit(\"disconnect\");\n } else {\n this.emit(\"change\", { account: accounts[0] as Address });\n }\n };\n\n protected onChainChanged = (chainId: number | string) => {\n this.emit(\"change\", {\n chain: { id: chainId as number, unsupported: false },\n });\n };\n\n protected onDisconnect = () => {\n this.emit(\"disconnect\");\n };\n}\n\nexport const createCosmosConnector = ({\n wallet,\n}: {\n wallet: MainWalletBase;\n}): Wallet => {\n return {\n id: wallet.walletInfo.name,\n name: wallet.walletInfo.prettyName,\n iconUrl: wallet.walletInfo.logo ?? \"\",\n iconBackground: \"transparent\",\n downloadUrls: {\n chrome: wallet.walletInfo.downloads?.[0].link,\n firefox: wallet.walletInfo.downloads?.[1].link,\n browserExtension: wallet.walletInfo.downloads?.[0].link,\n },\n createConnector: () => {\n const connector = new CosmosWagmiConnector({ wallet });\n\n return {\n connector,\n qrCode: {\n getUri: async () => {\n const cw = await connector.chainWallet;\n\n if (!cw.qrUrl || !cw.client) return \"\";\n\n return new Promise((res, rej) => {\n const timeoutId = setTimeout(() => {\n rej();\n }, 4000);\n\n // @ts-expect-error\n cw.client.setActions({\n qrUrl: {\n state: () => {\n clearTimeout(timeoutId);\n\n const data = cw.qrUrl.data;\n if (data) {\n console.log(\"qrcode\", data);\n res(data);\n } else {\n rej();\n }\n },\n },\n });\n });\n },\n },\n };\n },\n };\n};\n\nexport const connector = {\n groupName: \"Cosmos\",\n wallets: wallets.map((w) => createCosmosConnector({ wallet: w })),\n};\n", "export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}", "import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { ChainWalletBase, State } from '@cosmos-kit/core';\nexport class ChainWC extends ChainWalletBase {\n constructor(walletInfo, chainInfo, WCClient) {\n super(walletInfo, chainInfo);\n _defineProperty(this, \"WCClient\", void 0);\n _defineProperty(this, \"clientMutable\", {\n state: State.Init\n });\n _defineProperty(this, \"options\", void 0);\n this.WCClient = WCClient;\n }\n setClientNotExist() {\n this.setState(State.Error);\n this.setMessage(this.clientMutable.message);\n }\n}", "import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { ExpiredError, RejectedError, State } from '@cosmos-kit/core';\nimport SignClient from '@walletconnect/sign-client';\nimport { getSdkError } from '@walletconnect/utils';\nimport Long from 'long';\nimport { CoreUtil } from './utils';\nconst EXPLORER_API = 'https://explorer-api.walletconnect.com';\nexport class WCClient {\n // info from WalletConnect Cloud Explorer\n\n constructor(walletInfo) {\n _defineProperty(this, \"walletInfo\", void 0);\n _defineProperty(this, \"signClient\", void 0);\n _defineProperty(this, \"wcCloudInfo\", void 0);\n _defineProperty(this, \"actions\", void 0);\n _defineProperty(this, \"qrUrl\", void 0);\n _defineProperty(this, \"appUrl\", void 0);\n _defineProperty(this, \"pairings\", []);\n _defineProperty(this, \"sessions\", []);\n _defineProperty(this, \"emitter\", void 0);\n _defineProperty(this, \"logger\", void 0);\n _defineProperty(this, \"options\", void 0);\n _defineProperty(this, \"relayUrl\", void 0);\n _defineProperty(this, \"env\", void 0);\n if (!walletInfo.walletconnect) {\n throw new Error(`'walletconnect' info for wallet ${walletInfo.prettyName} is not provided in wallet registry.`);\n }\n this.walletInfo = walletInfo;\n this.qrUrl = {\n state: State.Init\n };\n this.appUrl = {\n state: State.Init\n };\n }\n get isMobile() {\n return this.env?.device === 'mobile';\n }\n\n // walletconnect wallet name\n get wcName() {\n return this.walletInfo.walletconnect.name;\n }\n\n // wallet defined bytes encoding\n get wcEncoding() {\n return this.walletInfo.walletconnect.encoding || 'hex';\n }\n\n // walletconnect wallet project id\n get wcProjectId() {\n return this.walletInfo.walletconnect.projectId;\n }\n\n // walletconnect wallet mobile link\n get wcMobile() {\n return this.walletInfo.walletconnect.mobile;\n }\n get accounts() {\n const accounts = [];\n this.sessions.forEach(s => {\n Object.entries(s.namespaces).forEach(([, nsValue]) => {\n nsValue.accounts.forEach(account => {\n const [namespace, chainId, address] = account.split(':');\n accounts.push({\n namespace,\n chainId,\n address\n });\n });\n });\n });\n return accounts;\n }\n deleteSession(topic) {\n const chainIds = [];\n this.sessions = this.sessions.filter(s => {\n if (s.topic === topic) {\n s.namespaces.cosmos.accounts.forEach(account => {\n const [, chainId] = account.split(':');\n chainIds.push(chainId);\n });\n return false;\n } else {\n return true;\n }\n });\n this.emitter?.emit('reset', chainIds);\n this.logger?.debug('[WALLET EVENT] Emit `reset`');\n }\n subscribeToEvents() {\n if (typeof this.signClient === 'undefined') {\n throw new Error('WalletConnect is not initialized');\n }\n this.signClient.on('session_ping', args => {\n this.logger?.debug('EVENT', 'session_ping', args);\n });\n this.signClient.on('session_event', async args => {\n this.logger?.debug('EVENT', 'session_event', args);\n // const {\n // topic,\n // params: { event, chainId },\n // } = args;\n // if (this.session?.topic != topic) return;\n // if (event.name === 'accountsChanged') {\n // await this.connect(\n // this.accounts.map(([, chainId]) => chainId),\n // false\n // );\n // }\n });\n\n this.signClient.on('session_update', ({\n topic,\n params\n }) => {\n this.logger?.debug('EVENT', 'session_update', {\n topic,\n params\n });\n // if (this.session?.topic != topic) return;\n\n // const { namespaces } = params;\n // const _session = this.signClient.session.get(topic);\n // this.session = { ..._session, namespaces };\n });\n\n this.signClient.on('session_delete', args => {\n this.logger?.debug('EVENT', 'session_delete', args);\n this.deleteSession(args.topic);\n });\n this.signClient.on('session_expire', args => {\n this.logger?.debug('EVENT', 'session_expire', args);\n this.deleteSession(args.topic);\n });\n this.signClient.on('session_proposal', args => {\n this.logger?.debug('EVENT', 'session_proposal', args);\n });\n this.signClient.on('session_request', args => {\n this.logger?.debug('EVENT', 'session_request', args);\n });\n this.signClient.on('proposal_expire', args => {\n this.logger?.debug('EVENT', 'proposal_expire', args);\n });\n }\n async deleteInactivePairings() {\n if (typeof this.signClient === 'undefined') {\n throw new Error('WalletConnect is not initialized');\n }\n for (const pairing of this.signClient.pairing.getAll({\n active: false\n })) {\n await this.signClient.pairing.delete(pairing.topic, {\n code: 7001,\n message: 'Clear inactive pairings.'\n });\n this.logger?.debug('Delete inactive pairing:', pairing.topic);\n }\n }\n restorePairings() {\n if (typeof this.signClient === 'undefined') {\n throw new Error('WalletConnect is not initialized');\n }\n this.pairings = this.signClient.pairing.getAll({\n active: true\n }).filter(p => p.peerMetadata?.name === this.wcName && p.expiry * 1000 > Date.now() + 1000);\n this.logger?.debug('RESTORED PAIRINGS: ', this.pairings);\n }\n get pairing() {\n return this.pairings[0];\n }\n restoreSessions() {\n if (typeof this.signClient === 'undefined') {\n throw new Error('WalletConnect is not initialized');\n }\n this.sessions = this.signClient.session.getAll().filter(s => s.peer.metadata.name === this.wcName && s.expiry * 1000 > Date.now() + 1000);\n this.logger?.debug('RESTORED SESSIONS: ', this.sessions);\n }\n getSession(namespace, chainId) {\n return this.sessions.find(s => s.namespaces[namespace]?.accounts?.find(account => account.startsWith(`${namespace}:${chainId}`)));\n }\n get walletName() {\n return this.walletInfo.name;\n }\n get dappProjectId() {\n return this.options?.signClient.projectId;\n }\n setActions(actions) {\n this.actions = actions;\n }\n setQRState(state) {\n this.qrUrl.state = state;\n this.actions?.qrUrl?.state(state);\n }\n setQRError(e) {\n this.setQRState(State.Error);\n this.qrUrl.message = typeof e === 'string' ? e : e?.message;\n this.actions?.qrUrl?.message?.(this.qrUrl.message);\n if (typeof e !== 'string' && e?.stack) {\n this.logger?.error(e.stack);\n }\n }\n async init() {\n await this.initSignClient();\n if (this.isMobile) {\n await this.initAppUrl();\n }\n }\n async initSignClient() {\n if (this.signClient && this.relayUrl === this.options?.signClient.relayUrl) {\n return;\n }\n this.signClient = await SignClient.init(this.options?.signClient);\n this.relayUrl = this.options?.signClient.relayUrl;\n this.logger?.debug('CREATED CLIENT: ', this.signClient);\n this.logger?.debug('relayerRegion ', this.options?.signClient.relayUrl);\n this.subscribeToEvents();\n this.restorePairings();\n this.restoreSessions();\n }\n async initWCCloudInfo() {\n const fetcUrl = `${EXPLORER_API}/v3/wallets?projectId=${this.dappProjectId}&sdks=sign_v2&search=${this.wcName}`;\n const fetched = await (await fetch(fetcUrl)).json();\n this.wcCloudInfo = fetched.listings[this.walletInfo.walletconnect?.projectId];\n this.logger?.debug('WalletConnect Info:', this.wcCloudInfo);\n }\n async initAppUrl() {\n this.appUrl.state = State.Pending;\n if (!this.wcCloudInfo) await this.initWCCloudInfo();\n const native = this.wcCloudInfo.mobile.native || this.wcMobile?.native;\n const universal = this.wcCloudInfo.mobile.universal || this.wcMobile?.universal;\n this.appUrl.data = {\n native,\n universal\n };\n this.appUrl.state = State.Done;\n }\n get nativeUrl() {\n const native = this.appUrl.data?.native;\n if (typeof native === 'string' || typeof native === 'undefined') {\n return native;\n } else {\n const {\n android,\n ios,\n macos,\n windows\n } = native;\n switch (this.env?.os) {\n case 'android':\n return android;\n case 'ios':\n return ios;\n case 'macos':\n return macos;\n case 'windows':\n return windows;\n default:\n throw new Error(`Unknown os: ${this.env?.os}.`);\n }\n }\n }\n get universalUrl() {\n return this.appUrl.data?.universal;\n }\n get redirectHref() {\n return this.nativeUrl || this.universalUrl;\n }\n get redirectHrefWithWCUri() {\n let href;\n if (this.nativeUrl) {\n href = (this.walletInfo.walletconnect.formatNativeUrl || CoreUtil.formatNativeUrl)(this.nativeUrl, this.qrUrl.data, this.env?.os, this.walletName);\n } else if (this.universalUrl) {\n href = (this.walletInfo.walletconnect.formatUniversalUrl || CoreUtil.formatUniversalUrl)(this.universalUrl, this.qrUrl.data, this.walletName);\n }\n return href;\n }\n get displayQRCode() {\n if (this.pairing || this.redirect) {\n return false;\n } else {\n return true;\n }\n }\n get redirect() {\n return Boolean(this.isMobile && (this.nativeUrl || this.universalUrl));\n }\n openApp(withWCUri = true) {\n const href = withWCUri ? this.redirectHrefWithWCUri : this.redirectHref;\n if (href) {\n this.logger?.debug('Redirecting:', href);\n CoreUtil.openHref(href);\n } else {\n this.logger?.error('No redirecting href.');\n }\n }\n async connect(chainIds) {\n if (typeof this.signClient === 'undefined') {\n throw new Error('WalletConnect is not initialized');\n }\n if (this.qrUrl.state !== 'Init') {\n this.setQRState(State.Init);\n }\n const chainIdsWithNS = typeof chainIds === 'string' ? [`cosmos:${chainIds}`] : chainIds.map(chainId => `cosmos:${chainId}`);\n this.restorePairings();\n const pairing = this.pairing;\n this.logger?.debug('Restored active pairing topic is:', pairing?.topic);\n if (this.displayQRCode) this.setQRState(State.Pending);\n const requiredNamespaces = {\n cosmos: {\n methods: ['cosmos_getAccounts', 'cosmos_signAmino', 'cosmos_signDirect'],\n chains: chainIdsWithNS,\n events: ['chainChanged', 'accountsChanged']\n }\n };\n let connectResp;\n try {\n this.logger?.debug('Connecting chains:', chainIdsWithNS);\n connectResp = await this.signClient.connect({\n pairingTopic: pairing?.topic,\n requiredNamespaces\n });\n\n // https://github.com/cosmology-tech/projects-issues/issues/349\n // Commented out because of the issue above.\n // if (typeof connectResp.uri === 'undefined') {\n // throw new Error('Failed to generate WalletConnect URI!');\n // }\n\n this.qrUrl.data = connectResp.uri;\n this.logger?.debug('Using QR URI:', connectResp.uri);\n if (this.displayQRCode) this.setQRState(State.Done);\n } catch (error) {\n this.logger?.error('Client connect error: ', error);\n if (this.displayQRCode) this.setQRError(error);\n return;\n }\n if (this.redirect) this.openApp();\n try {\n const session = await connectResp.approval();\n this.logger?.debug('Established session:', session);\n this.sessions.push(session);\n this.restorePairings();\n } catch (error) {\n this.logger?.error('Session approval error: ', error);\n await this.deleteInactivePairings();\n if (!error) {\n if (this.displayQRCode) this.setQRError(ExpiredError);\n throw new Error('Proposal Expired');\n } else if (error.code == 5001) {\n throw RejectedError;\n } else {\n throw error;\n }\n } finally {\n if (!pairing && this.qrUrl.message !== ExpiredError.message) {\n this.setQRState(State.Init);\n }\n }\n }\n async disconnect() {\n if (typeof this.signClient === 'undefined') {\n throw new Error('WalletConnect is not initialized');\n }\n if (this.sessions.length === 0) {\n return;\n }\n for (const session of this.sessions) {\n try {\n this.logger?.debug('Delete session:', session);\n await this.signClient.disconnect({\n topic: session.topic,\n reason: getSdkError('USER_DISCONNECTED')\n });\n } catch (error) {\n this.logger?.error(`SignClient.disconnect session ${session.topic} failed:`, error);\n }\n }\n this.sessions = [];\n this.emitter?.emit('sync_disconnect');\n this.logger?.debug('[WALLET EVENT] Emit `sync_disconnect`');\n }\n async getSimpleAccount(chainId) {\n const account = this.accounts.find(({\n chainId: id\n }) => id === chainId);\n if (!account) {\n throw new Error(`Chain ${chainId} is not connected yet, please check the session approval namespaces`);\n }\n return account;\n }\n getOfflineSignerAmino(chainId) {\n return {\n getAccounts: async () => [await this.getAccount(chainId)],\n signAmino: (signerAddress, signDoc) => this.signAmino(chainId, signerAddress, signDoc)\n };\n }\n getOfflineSignerDirect(chainId) {\n return {\n getAccounts: async () => [await this.getAccount(chainId)],\n signDirect: (signerAddress, signDoc) => this.signDirect(chainId, signerAddress, signDoc)\n };\n }\n async getOfflineSigner(chainId, preferredSignType) {\n if (preferredSignType === 'amino' && this.getOfflineSignerAmino) {\n return this.getOfflineSignerAmino(chainId);\n }\n if (preferredSignType === 'direct' && this.getOfflineSignerDirect) {\n return this.getOfflineSignerDirect(chainId);\n }\n return this.getOfflineSignerAmino ? this.getOfflineSignerAmino?.(chainId) : this.getOfflineSignerDirect(chainId);\n }\n async _getAccount(chainId) {\n const session = this.getSession('cosmos', chainId);\n if (!session) {\n throw new Error(`Session for ${chainId} not established yet.`);\n }\n const resp = await this.signClient.request({\n topic: session.topic,\n chainId: `cosmos:${chainId}`,\n request: {\n method: 'cosmos_getAccounts',\n params: {}\n }\n });\n this.logger?.debug(`Response of cosmos_getAccounts`, resp);\n return resp;\n }\n async getAccount(chainId) {\n const {\n address,\n algo,\n pubkey\n } = (await this._getAccount(chainId))[0];\n return {\n address,\n algo: algo,\n pubkey: new Uint8Array(Buffer.from(pubkey, this.wcEncoding))\n };\n }\n async _signAmino(chainId, signer, signDoc, signOptions) {\n const session = this.getSession('cosmos', chainId);\n if (!session) {\n throw new Error(`Session for ${chainId} not established yet.`);\n }\n if (this.redirect) this.openApp();\n const resp = await this.signClient.request({\n topic: session.topic,\n chainId: `cosmos:${chainId}`,\n request: {\n method: 'cosmos_signAmino',\n params: {\n signerAddress: signer,\n signDoc\n }\n }\n });\n this.logger?.debug(`Response of cosmos_signAmino`, resp);\n return resp;\n }\n async signAmino(chainId, signer, signDoc, signOptions) {\n const result = await this._signAmino(chainId, signer, signDoc, signOptions);\n return result;\n }\n async _signDirect(chainId, signer, signDoc, signOptions) {\n const session = this.getSession('cosmos', chainId);\n if (!session) {\n throw new Error(`Session for ${chainId} not established yet.`);\n }\n const signDocValue = {\n signerAddress: signer,\n signDoc: {\n chainId: signDoc.chainId,\n bodyBytes: Buffer.from(signDoc.bodyBytes).toString(this.wcEncoding),\n authInfoBytes: Buffer.from(signDoc.authInfoBytes).toString(this.wcEncoding),\n accountNumber: signDoc.accountNumber.toString()\n }\n };\n if (this.redirect) this.openApp();\n const resp = await this.signClient.request({\n topic: session.topic,\n chainId: `cosmos:${chainId}`,\n request: {\n method: 'cosmos_signDirect',\n params: signDocValue\n }\n });\n this.logger?.debug(`Response of cosmos_signDirect`, resp);\n return resp;\n }\n async signDirect(chainId, signer, signDoc, signOptions) {\n const {\n signed,\n signature\n } = await this._signDirect(chainId, signer, signDoc, signOptions);\n return {\n signed: {\n chainId: signed.chainId,\n accountNumber: Long.fromString(signed.accountNumber, false),\n authInfoBytes: new Uint8Array(Buffer.from(signed.authInfoBytes, this.wcEncoding)),\n bodyBytes: new Uint8Array(Buffer.from(signed.bodyBytes, this.wcEncoding))\n },\n signature\n };\n }\n\n // restoreLatestSession() {\n // if (typeof this.signClient === 'undefined') {\n // throw new Error('WalletConnect is not initialized');\n // }\n // if (typeof this.session !== 'undefined') return;\n\n // const targetKey = this.signClient.session.keys.reverse().find((key) => {\n // const session = this.signClient.session.get(key);\n // return (\n // session.peer.metadata.name === this.walletWCName &&\n // session.expiry * 1000 > Date.now() + 1000\n // );\n // });\n\n // if (targetKey) {\n // this.session = this.signClient.session.get(targetKey);\n // this.logger?.debug('RESTORED LATEST SESSION:', this.session);\n // }\n // }\n}", null, null, null, "export function asUint8Array(buf) {\n if (globalThis.Buffer != null) {\n return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength);\n }\n return buf;\n}", "import { asUint8Array } from './util/as-uint8array.js';\nexport function alloc(size = 0) {\n if (globalThis.Buffer != null && globalThis.Buffer.alloc != null) {\n return asUint8Array(globalThis.Buffer.alloc(size));\n }\n return new Uint8Array(size);\n}\nexport function allocUnsafe(size = 0) {\n if (globalThis.Buffer != null && globalThis.Buffer.allocUnsafe != null) {\n return asUint8Array(globalThis.Buffer.allocUnsafe(size));\n }\n return new Uint8Array(size);\n}", "import { allocUnsafe } from './alloc.js';\nimport { asUint8Array } from './util/as-uint8array.js';\nexport function concat(arrays, length) {\n if (!length) {\n length = arrays.reduce((acc, curr) => acc + curr.length, 0);\n }\n const output = allocUnsafe(length);\n let offset = 0;\n for (const arr of arrays) {\n output.set(arr, offset);\n offset += arr.length;\n }\n return asUint8Array(output);\n}", "import { from } from './base.js';\nimport {\n fromString,\n toString\n} from '../bytes.js';\nexport const identity = from({\n prefix: '\\0',\n name: 'identity',\n encode: buf => toString(buf),\n decode: str => fromString(str)\n});", "function base(ALPHABET, name) {\n if (ALPHABET.length >= 255) {\n throw new TypeError('Alphabet too long');\n }\n var BASE_MAP = new Uint8Array(256);\n for (var j = 0; j < BASE_MAP.length; j++) {\n BASE_MAP[j] = 255;\n }\n for (var i = 0; i < ALPHABET.length; i++) {\n var x = ALPHABET.charAt(i);\n var xc = x.charCodeAt(0);\n if (BASE_MAP[xc] !== 255) {\n throw new TypeError(x + ' is ambiguous');\n }\n BASE_MAP[xc] = i;\n }\n var BASE = ALPHABET.length;\n var LEADER = ALPHABET.charAt(0);\n var FACTOR = Math.log(BASE) / Math.log(256);\n var iFACTOR = Math.log(256) / Math.log(BASE);\n function encode(source) {\n if (source instanceof Uint8Array);\n else if (ArrayBuffer.isView(source)) {\n source = new Uint8Array(source.buffer, source.byteOffset, source.byteLength);\n } else if (Array.isArray(source)) {\n source = Uint8Array.from(source);\n }\n if (!(source instanceof Uint8Array)) {\n throw new TypeError('Expected Uint8Array');\n }\n if (source.length === 0) {\n return '';\n }\n var zeroes = 0;\n var length = 0;\n var pbegin = 0;\n var pend = source.length;\n while (pbegin !== pend && source[pbegin] === 0) {\n pbegin++;\n zeroes++;\n }\n var size = (pend - pbegin) * iFACTOR + 1 >>> 0;\n var b58 = new Uint8Array(size);\n while (pbegin !== pend) {\n var carry = source[pbegin];\n var i = 0;\n for (var it1 = size - 1; (carry !== 0 || i < length) && it1 !== -1; it1--, i++) {\n carry += 256 * b58[it1] >>> 0;\n b58[it1] = carry % BASE >>> 0;\n carry = carry / BASE >>> 0;\n }\n if (carry !== 0) {\n throw new Error('Non-zero carry');\n }\n length = i;\n pbegin++;\n }\n var it2 = size - length;\n while (it2 !== size && b58[it2] === 0) {\n it2++;\n }\n var str = LEADER.repeat(zeroes);\n for (; it2 < size; ++it2) {\n str += ALPHABET.charAt(b58[it2]);\n }\n return str;\n }\n function decodeUnsafe(source) {\n if (typeof source !== 'string') {\n throw new TypeError('Expected String');\n }\n if (source.length === 0) {\n return new Uint8Array();\n }\n var psz = 0;\n if (source[psz] === ' ') {\n return;\n }\n var zeroes = 0;\n var length = 0;\n while (source[psz] === LEADER) {\n zeroes++;\n psz++;\n }\n var size = (source.length - psz) * FACTOR + 1 >>> 0;\n var b256 = new Uint8Array(size);\n while (source[psz]) {\n var carry = BASE_MAP[source.charCodeAt(psz)];\n if (carry === 255) {\n return;\n }\n var i = 0;\n for (var it3 = size - 1; (carry !== 0 || i < length) && it3 !== -1; it3--, i++) {\n carry += BASE * b256[it3] >>> 0;\n b256[it3] = carry % 256 >>> 0;\n carry = carry / 256 >>> 0;\n }\n if (carry !== 0) {\n throw new Error('Non-zero carry');\n }\n length = i;\n psz++;\n }\n if (source[psz] === ' ') {\n return;\n }\n var it4 = size - length;\n while (it4 !== size && b256[it4] === 0) {\n it4++;\n }\n var vch = new Uint8Array(zeroes + (size - it4));\n var j = zeroes;\n while (it4 !== size) {\n vch[j++] = b256[it4++];\n }\n return vch;\n }\n function decode(string) {\n var buffer = decodeUnsafe(string);\n if (buffer) {\n return buffer;\n }\n throw new Error(`Non-${ name } character`);\n }\n return {\n encode: encode,\n decodeUnsafe: decodeUnsafe,\n decode: decode\n };\n}\nvar src = base;\nvar _brrp__multiformats_scope_baseX = src;\nexport default _brrp__multiformats_scope_baseX;", "const empty = new Uint8Array(0);\nconst toHex = d => d.reduce((hex, byte) => hex + byte.toString(16).padStart(2, '0'), '');\nconst fromHex = hex => {\n const hexes = hex.match(/../g);\n return hexes ? new Uint8Array(hexes.map(b => parseInt(b, 16))) : empty;\n};\nconst equals = (aa, bb) => {\n if (aa === bb)\n return true;\n if (aa.byteLength !== bb.byteLength) {\n return false;\n }\n for (let ii = 0; ii < aa.byteLength; ii++) {\n if (aa[ii] !== bb[ii]) {\n return false;\n }\n }\n return true;\n};\nconst coerce = o => {\n if (o instanceof Uint8Array && o.constructor.name === 'Uint8Array')\n return o;\n if (o instanceof ArrayBuffer)\n return new Uint8Array(o);\n if (ArrayBuffer.isView(o)) {\n return new Uint8Array(o.buffer, o.byteOffset, o.byteLength);\n }\n throw new Error('Unknown type, must be binary type');\n};\nconst isBinary = o => o instanceof ArrayBuffer || ArrayBuffer.isView(o);\nconst fromString = str => new TextEncoder().encode(str);\nconst toString = b => new TextDecoder().decode(b);\nexport {\n equals,\n coerce,\n isBinary,\n fromHex,\n toHex,\n fromString,\n toString,\n empty\n};", "import basex from '../../vendor/base-x.js';\nimport { coerce } from '../bytes.js';\nclass Encoder {\n constructor(name, prefix, baseEncode) {\n this.name = name;\n this.prefix = prefix;\n this.baseEncode = baseEncode;\n }\n encode(bytes) {\n if (bytes instanceof Uint8Array) {\n return `${ this.prefix }${ this.baseEncode(bytes) }`;\n } else {\n throw Error('Unknown type, must be binary type');\n }\n }\n}\nclass Decoder {\n constructor(name, prefix, baseDecode) {\n this.name = name;\n this.prefix = prefix;\n if (prefix.codePointAt(0) === undefined) {\n throw new Error('Invalid prefix character');\n }\n this.prefixCodePoint = prefix.codePointAt(0);\n this.baseDecode = baseDecode;\n }\n decode(text) {\n if (typeof text === 'string') {\n if (text.codePointAt(0) !== this.prefixCodePoint) {\n throw Error(`Unable to decode multibase string ${ JSON.stringify(text) }, ${ this.name } decoder only supports inputs prefixed with ${ this.prefix }`);\n }\n return this.baseDecode(text.slice(this.prefix.length));\n } else {\n throw Error('Can only multibase decode strings');\n }\n }\n or(decoder) {\n return or(this, decoder);\n }\n}\nclass ComposedDecoder {\n constructor(decoders) {\n this.decoders = decoders;\n }\n or(decoder) {\n return or(this, decoder);\n }\n decode(input) {\n const prefix = input[0];\n const decoder = this.decoders[prefix];\n if (decoder) {\n return decoder.decode(input);\n } else {\n throw RangeError(`Unable to decode multibase string ${ JSON.stringify(input) }, only inputs prefixed with ${ Object.keys(this.decoders) } are supported`);\n }\n }\n}\nexport const or = (left, right) => new ComposedDecoder({\n ...left.decoders || { [left.prefix]: left },\n ...right.decoders || { [right.prefix]: right }\n});\nexport class Codec {\n constructor(name, prefix, baseEncode, baseDecode) {\n this.name = name;\n this.prefix = prefix;\n this.baseEncode = baseEncode;\n this.baseDecode = baseDecode;\n this.encoder = new Encoder(name, prefix, baseEncode);\n this.decoder = new Decoder(name, prefix, baseDecode);\n }\n encode(input) {\n return this.encoder.encode(input);\n }\n decode(input) {\n return this.decoder.decode(input);\n }\n}\nexport const from = ({name, prefix, encode, decode}) => new Codec(name, prefix, encode, decode);\nexport const baseX = ({prefix, name, alphabet}) => {\n const {encode, decode} = basex(alphabet, name);\n return from({\n prefix,\n name,\n encode,\n decode: text => coerce(decode(text))\n });\n};\nconst decode = (string, alphabet, bitsPerChar, name) => {\n const codes = {};\n for (let i = 0; i < alphabet.length; ++i) {\n codes[alphabet[i]] = i;\n }\n let end = string.length;\n while (string[end - 1] === '=') {\n --end;\n }\n const out = new Uint8Array(end * bitsPerChar / 8 | 0);\n let bits = 0;\n let buffer = 0;\n let written = 0;\n for (let i = 0; i < end; ++i) {\n const value = codes[string[i]];\n if (value === undefined) {\n throw new SyntaxError(`Non-${ name } character`);\n }\n buffer = buffer << bitsPerChar | value;\n bits += bitsPerChar;\n if (bits >= 8) {\n bits -= 8;\n out[written++] = 255 & buffer >> bits;\n }\n }\n if (bits >= bitsPerChar || 255 & buffer << 8 - bits) {\n throw new SyntaxError('Unexpected end of data');\n }\n return out;\n};\nconst encode = (data, alphabet, bitsPerChar) => {\n const pad = alphabet[alphabet.length - 1] === '=';\n const mask = (1 << bitsPerChar) - 1;\n let out = '';\n let bits = 0;\n let buffer = 0;\n for (let i = 0; i < data.length; ++i) {\n buffer = buffer << 8 | data[i];\n bits += 8;\n while (bits > bitsPerChar) {\n bits -= bitsPerChar;\n out += alphabet[mask & buffer >> bits];\n }\n }\n if (bits) {\n out += alphabet[mask & buffer << bitsPerChar - bits];\n }\n if (pad) {\n while (out.length * bitsPerChar & 7) {\n out += '=';\n }\n }\n return out;\n};\nexport const rfc4648 = ({name, prefix, bitsPerChar, alphabet}) => {\n return from({\n prefix,\n name,\n encode(input) {\n return encode(input, alphabet, bitsPerChar);\n },\n decode(input) {\n return decode(input, alphabet, bitsPerChar, name);\n }\n });\n};", "import { rfc4648 } from './base.js';\nexport const base2 = rfc4648({\n prefix: '0',\n name: 'base2',\n alphabet: '01',\n bitsPerChar: 1\n});", "import { rfc4648 } from './base.js';\nexport const base8 = rfc4648({\n prefix: '7',\n name: 'base8',\n alphabet: '01234567',\n bitsPerChar: 3\n});", "import { baseX } from './base.js';\nexport const base10 = baseX({\n prefix: '9',\n name: 'base10',\n alphabet: '0123456789'\n});", "import { rfc4648 } from './base.js';\nexport const base16 = rfc4648({\n prefix: 'f',\n name: 'base16',\n alphabet: '0123456789abcdef',\n bitsPerChar: 4\n});\nexport const base16upper = rfc4648({\n prefix: 'F',\n name: 'base16upper',\n alphabet: '0123456789ABCDEF',\n bitsPerChar: 4\n});", "import { rfc4648 } from './base.js';\nexport const base32 = rfc4648({\n prefix: 'b',\n name: 'base32',\n alphabet: 'abcdefghijklmnopqrstuvwxyz234567',\n bitsPerChar: 5\n});\nexport const base32upper = rfc4648({\n prefix: 'B',\n name: 'base32upper',\n alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567',\n bitsPerChar: 5\n});\nexport const base32pad = rfc4648({\n prefix: 'c',\n name: 'base32pad',\n alphabet: 'abcdefghijklmnopqrstuvwxyz234567=',\n bitsPerChar: 5\n});\nexport const base32padupper = rfc4648({\n prefix: 'C',\n name: 'base32padupper',\n alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=',\n bitsPerChar: 5\n});\nexport const base32hex = rfc4648({\n prefix: 'v',\n name: 'base32hex',\n alphabet: '0123456789abcdefghijklmnopqrstuv',\n bitsPerChar: 5\n});\nexport const base32hexupper = rfc4648({\n prefix: 'V',\n name: 'base32hexupper',\n alphabet: '0123456789ABCDEFGHIJKLMNOPQRSTUV',\n bitsPerChar: 5\n});\nexport const base32hexpad = rfc4648({\n prefix: 't',\n name: 'base32hexpad',\n alphabet: '0123456789abcdefghijklmnopqrstuv=',\n bitsPerChar: 5\n});\nexport const base32hexpadupper = rfc4648({\n prefix: 'T',\n name: 'base32hexpadupper',\n alphabet: '0123456789ABCDEFGHIJKLMNOPQRSTUV=',\n bitsPerChar: 5\n});\nexport const base32z = rfc4648({\n prefix: 'h',\n name: 'base32z',\n alphabet: 'ybndrfg8ejkmcpqxot1uwisza345h769',\n bitsPerChar: 5\n});", "import { baseX } from './base.js';\nexport const base36 = baseX({\n prefix: 'k',\n name: 'base36',\n alphabet: '0123456789abcdefghijklmnopqrstuvwxyz'\n});\nexport const base36upper = baseX({\n prefix: 'K',\n name: 'base36upper',\n alphabet: '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'\n});", "import { baseX } from './base.js';\nexport const base58btc = baseX({\n name: 'base58btc',\n prefix: 'z',\n alphabet: '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'\n});\nexport const base58flickr = baseX({\n name: 'base58flickr',\n prefix: 'Z',\n alphabet: '123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ'\n});", "import { rfc4648 } from './base.js';\nexport const base64 = rfc4648({\n prefix: 'm',\n name: 'base64',\n alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n bitsPerChar: 6\n});\nexport const base64pad = rfc4648({\n prefix: 'M',\n name: 'base64pad',\n alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',\n bitsPerChar: 6\n});\nexport const base64url = rfc4648({\n prefix: 'u',\n name: 'base64url',\n alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_',\n bitsPerChar: 6\n});\nexport const base64urlpad = rfc4648({\n prefix: 'U',\n name: 'base64urlpad',\n alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=',\n bitsPerChar: 6\n});", "import { from } from './base.js';\nconst alphabet = Array.from('\\uD83D\\uDE80\\uD83E\\uDE90\\u2604\\uD83D\\uDEF0\\uD83C\\uDF0C\\uD83C\\uDF11\\uD83C\\uDF12\\uD83C\\uDF13\\uD83C\\uDF14\\uD83C\\uDF15\\uD83C\\uDF16\\uD83C\\uDF17\\uD83C\\uDF18\\uD83C\\uDF0D\\uD83C\\uDF0F\\uD83C\\uDF0E\\uD83D\\uDC09\\u2600\\uD83D\\uDCBB\\uD83D\\uDDA5\\uD83D\\uDCBE\\uD83D\\uDCBF\\uD83D\\uDE02\\u2764\\uD83D\\uDE0D\\uD83E\\uDD23\\uD83D\\uDE0A\\uD83D\\uDE4F\\uD83D\\uDC95\\uD83D\\uDE2D\\uD83D\\uDE18\\uD83D\\uDC4D\\uD83D\\uDE05\\uD83D\\uDC4F\\uD83D\\uDE01\\uD83D\\uDD25\\uD83E\\uDD70\\uD83D\\uDC94\\uD83D\\uDC96\\uD83D\\uDC99\\uD83D\\uDE22\\uD83E\\uDD14\\uD83D\\uDE06\\uD83D\\uDE44\\uD83D\\uDCAA\\uD83D\\uDE09\\u263A\\uD83D\\uDC4C\\uD83E\\uDD17\\uD83D\\uDC9C\\uD83D\\uDE14\\uD83D\\uDE0E\\uD83D\\uDE07\\uD83C\\uDF39\\uD83E\\uDD26\\uD83C\\uDF89\\uD83D\\uDC9E\\u270C\\u2728\\uD83E\\uDD37\\uD83D\\uDE31\\uD83D\\uDE0C\\uD83C\\uDF38\\uD83D\\uDE4C\\uD83D\\uDE0B\\uD83D\\uDC97\\uD83D\\uDC9A\\uD83D\\uDE0F\\uD83D\\uDC9B\\uD83D\\uDE42\\uD83D\\uDC93\\uD83E\\uDD29\\uD83D\\uDE04\\uD83D\\uDE00\\uD83D\\uDDA4\\uD83D\\uDE03\\uD83D\\uDCAF\\uD83D\\uDE48\\uD83D\\uDC47\\uD83C\\uDFB6\\uD83D\\uDE12\\uD83E\\uDD2D\\u2763\\uD83D\\uDE1C\\uD83D\\uDC8B\\uD83D\\uDC40\\uD83D\\uDE2A\\uD83D\\uDE11\\uD83D\\uDCA5\\uD83D\\uDE4B\\uD83D\\uDE1E\\uD83D\\uDE29\\uD83D\\uDE21\\uD83E\\uDD2A\\uD83D\\uDC4A\\uD83E\\uDD73\\uD83D\\uDE25\\uD83E\\uDD24\\uD83D\\uDC49\\uD83D\\uDC83\\uD83D\\uDE33\\u270B\\uD83D\\uDE1A\\uD83D\\uDE1D\\uD83D\\uDE34\\uD83C\\uDF1F\\uD83D\\uDE2C\\uD83D\\uDE43\\uD83C\\uDF40\\uD83C\\uDF37\\uD83D\\uDE3B\\uD83D\\uDE13\\u2B50\\u2705\\uD83E\\uDD7A\\uD83C\\uDF08\\uD83D\\uDE08\\uD83E\\uDD18\\uD83D\\uDCA6\\u2714\\uD83D\\uDE23\\uD83C\\uDFC3\\uD83D\\uDC90\\u2639\\uD83C\\uDF8A\\uD83D\\uDC98\\uD83D\\uDE20\\u261D\\uD83D\\uDE15\\uD83C\\uDF3A\\uD83C\\uDF82\\uD83C\\uDF3B\\uD83D\\uDE10\\uD83D\\uDD95\\uD83D\\uDC9D\\uD83D\\uDE4A\\uD83D\\uDE39\\uD83D\\uDDE3\\uD83D\\uDCAB\\uD83D\\uDC80\\uD83D\\uDC51\\uD83C\\uDFB5\\uD83E\\uDD1E\\uD83D\\uDE1B\\uD83D\\uDD34\\uD83D\\uDE24\\uD83C\\uDF3C\\uD83D\\uDE2B\\u26BD\\uD83E\\uDD19\\u2615\\uD83C\\uDFC6\\uD83E\\uDD2B\\uD83D\\uDC48\\uD83D\\uDE2E\\uD83D\\uDE46\\uD83C\\uDF7B\\uD83C\\uDF43\\uD83D\\uDC36\\uD83D\\uDC81\\uD83D\\uDE32\\uD83C\\uDF3F\\uD83E\\uDDE1\\uD83C\\uDF81\\u26A1\\uD83C\\uDF1E\\uD83C\\uDF88\\u274C\\u270A\\uD83D\\uDC4B\\uD83D\\uDE30\\uD83E\\uDD28\\uD83D\\uDE36\\uD83E\\uDD1D\\uD83D\\uDEB6\\uD83D\\uDCB0\\uD83C\\uDF53\\uD83D\\uDCA2\\uD83E\\uDD1F\\uD83D\\uDE41\\uD83D\\uDEA8\\uD83D\\uDCA8\\uD83E\\uDD2C\\u2708\\uD83C\\uDF80\\uD83C\\uDF7A\\uD83E\\uDD13\\uD83D\\uDE19\\uD83D\\uDC9F\\uD83C\\uDF31\\uD83D\\uDE16\\uD83D\\uDC76\\uD83E\\uDD74\\u25B6\\u27A1\\u2753\\uD83D\\uDC8E\\uD83D\\uDCB8\\u2B07\\uD83D\\uDE28\\uD83C\\uDF1A\\uD83E\\uDD8B\\uD83D\\uDE37\\uD83D\\uDD7A\\u26A0\\uD83D\\uDE45\\uD83D\\uDE1F\\uD83D\\uDE35\\uD83D\\uDC4E\\uD83E\\uDD32\\uD83E\\uDD20\\uD83E\\uDD27\\uD83D\\uDCCC\\uD83D\\uDD35\\uD83D\\uDC85\\uD83E\\uDDD0\\uD83D\\uDC3E\\uD83C\\uDF52\\uD83D\\uDE17\\uD83E\\uDD11\\uD83C\\uDF0A\\uD83E\\uDD2F\\uD83D\\uDC37\\u260E\\uD83D\\uDCA7\\uD83D\\uDE2F\\uD83D\\uDC86\\uD83D\\uDC46\\uD83C\\uDFA4\\uD83D\\uDE47\\uD83C\\uDF51\\u2744\\uD83C\\uDF34\\uD83D\\uDCA3\\uD83D\\uDC38\\uD83D\\uDC8C\\uD83D\\uDCCD\\uD83E\\uDD40\\uD83E\\uDD22\\uD83D\\uDC45\\uD83D\\uDCA1\\uD83D\\uDCA9\\uD83D\\uDC50\\uD83D\\uDCF8\\uD83D\\uDC7B\\uD83E\\uDD10\\uD83E\\uDD2E\\uD83C\\uDFBC\\uD83E\\uDD75\\uD83D\\uDEA9\\uD83C\\uDF4E\\uD83C\\uDF4A\\uD83D\\uDC7C\\uD83D\\uDC8D\\uD83D\\uDCE3\\uD83E\\uDD42');\nconst alphabetBytesToChars = alphabet.reduce((p, c, i) => {\n p[i] = c;\n return p;\n}, []);\nconst alphabetCharsToBytes = alphabet.reduce((p, c, i) => {\n p[c.codePointAt(0)] = i;\n return p;\n}, []);\nfunction encode(data) {\n return data.reduce((p, c) => {\n p += alphabetBytesToChars[c];\n return p;\n }, '');\n}\nfunction decode(str) {\n const byts = [];\n for (const char of str) {\n const byt = alphabetCharsToBytes[char.codePointAt(0)];\n if (byt === undefined) {\n throw new Error(`Non-base256emoji character: ${ char }`);\n }\n byts.push(byt);\n }\n return new Uint8Array(byts);\n}\nexport const base256emoji = from({\n prefix: '\\uD83D\\uDE80',\n name: 'base256emoji',\n encode,\n decode\n});", "import { from } from './hasher.js';\nconst sha = name => async data => new Uint8Array(await crypto.subtle.digest(name, data));\nexport const sha256 = from({\n name: 'sha2-256',\n code: 18,\n encode: sha('SHA-256')\n});\nexport const sha512 = from({\n name: 'sha2-512',\n code: 19,\n encode: sha('SHA-512')\n});", "var encode_1 = encode;\nvar MSB = 128, REST = 127, MSBALL = ~REST, INT = Math.pow(2, 31);\nfunction encode(num, out, offset) {\n out = out || [];\n offset = offset || 0;\n var oldOffset = offset;\n while (num >= INT) {\n out[offset++] = num & 255 | MSB;\n num /= 128;\n }\n while (num & MSBALL) {\n out[offset++] = num & 255 | MSB;\n num >>>= 7;\n }\n out[offset] = num | 0;\n encode.bytes = offset - oldOffset + 1;\n return out;\n}\nvar decode = read;\nvar MSB$1 = 128, REST$1 = 127;\nfunction read(buf, offset) {\n var res = 0, offset = offset || 0, shift = 0, counter = offset, b, l = buf.length;\n do {\n if (counter >= l) {\n read.bytes = 0;\n throw new RangeError('Could not decode varint');\n }\n b = buf[counter++];\n res += shift < 28 ? (b & REST$1) << shift : (b & REST$1) * Math.pow(2, shift);\n shift += 7;\n } while (b >= MSB$1);\n read.bytes = counter - offset;\n return res;\n}\nvar N1 = Math.pow(2, 7);\nvar N2 = Math.pow(2, 14);\nvar N3 = Math.pow(2, 21);\nvar N4 = Math.pow(2, 28);\nvar N5 = Math.pow(2, 35);\nvar N6 = Math.pow(2, 42);\nvar N7 = Math.pow(2, 49);\nvar N8 = Math.pow(2, 56);\nvar N9 = Math.pow(2, 63);\nvar length = function (value) {\n return value < N1 ? 1 : value < N2 ? 2 : value < N3 ? 3 : value < N4 ? 4 : value < N5 ? 5 : value < N6 ? 6 : value < N7 ? 7 : value < N8 ? 8 : value < N9 ? 9 : 10;\n};\nvar varint = {\n encode: encode_1,\n decode: decode,\n encodingLength: length\n};\nvar _brrp_varint = varint;\nexport default _brrp_varint;", "import varint from '../vendor/varint.js';\nexport const decode = (data, offset = 0) => {\n const code = varint.decode(data, offset);\n return [\n code,\n varint.decode.bytes\n ];\n};\nexport const encodeTo = (int, target, offset = 0) => {\n varint.encode(int, target, offset);\n return target;\n};\nexport const encodingLength = int => {\n return varint.encodingLength(int);\n};", "import {\n coerce,\n equals as equalBytes\n} from '../bytes.js';\nimport * as varint from '../varint.js';\nexport const create = (code, digest) => {\n const size = digest.byteLength;\n const sizeOffset = varint.encodingLength(code);\n const digestOffset = sizeOffset + varint.encodingLength(size);\n const bytes = new Uint8Array(digestOffset + size);\n varint.encodeTo(code, bytes, 0);\n varint.encodeTo(size, bytes, sizeOffset);\n bytes.set(digest, digestOffset);\n return new Digest(code, size, digest, bytes);\n};\nexport const decode = multihash => {\n const bytes = coerce(multihash);\n const [code, sizeOffset] = varint.decode(bytes);\n const [size, digestOffset] = varint.decode(bytes.subarray(sizeOffset));\n const digest = bytes.subarray(sizeOffset + digestOffset);\n if (digest.byteLength !== size) {\n throw new Error('Incorrect length');\n }\n return new Digest(code, size, digest, bytes);\n};\nexport const equals = (a, b) => {\n if (a === b) {\n return true;\n } else {\n return a.code === b.code && a.size === b.size && equalBytes(a.bytes, b.bytes);\n }\n};\nexport class Digest {\n constructor(code, size, digest, bytes) {\n this.code = code;\n this.size = size;\n this.digest = digest;\n this.bytes = bytes;\n }\n}", "import * as Digest from './digest.js';\nexport const from = ({name, code, encode}) => new Hasher(name, code, encode);\nexport class Hasher {\n constructor(name, code, encode) {\n this.name = name;\n this.code = code;\n this.encode = encode;\n }\n digest(input) {\n if (input instanceof Uint8Array) {\n const result = this.encode(input);\n return result instanceof Uint8Array ? Digest.create(this.code, result) : result.then(digest => Digest.create(this.code, digest));\n } else {\n throw Error('Unknown type, must be binary type');\n }\n }\n}", "import { coerce } from '../bytes.js';\nimport * as Digest from './digest.js';\nconst code = 0;\nconst name = 'identity';\nconst encode = coerce;\nconst digest = input => Digest.create(code, encode(input));\nexport const identity = {\n code,\n name,\n encode,\n digest\n};", "const textEncoder = new TextEncoder();\nconst textDecoder = new TextDecoder();\nexport const name = 'json';\nexport const code = 512;\nexport const encode = node => textEncoder.encode(JSON.stringify(node));\nexport const decode = data => JSON.parse(textDecoder.decode(data));", "import * as varint from './varint.js';\nimport * as Digest from './hashes/digest.js';\nimport { base58btc } from './bases/base58.js';\nimport { base32 } from './bases/base32.js';\nimport { coerce } from './bytes.js';\nexport class CID {\n constructor(version, code, multihash, bytes) {\n this.code = code;\n this.version = version;\n this.multihash = multihash;\n this.bytes = bytes;\n this.byteOffset = bytes.byteOffset;\n this.byteLength = bytes.byteLength;\n this.asCID = this;\n this._baseCache = new Map();\n Object.defineProperties(this, {\n byteOffset: hidden,\n byteLength: hidden,\n code: readonly,\n version: readonly,\n multihash: readonly,\n bytes: readonly,\n _baseCache: hidden,\n asCID: hidden\n });\n }\n toV0() {\n switch (this.version) {\n case 0: {\n return this;\n }\n default: {\n const {code, multihash} = this;\n if (code !== DAG_PB_CODE) {\n throw new Error('Cannot convert a non dag-pb CID to CIDv0');\n }\n if (multihash.code !== SHA_256_CODE) {\n throw new Error('Cannot convert non sha2-256 multihash CID to CIDv0');\n }\n return CID.createV0(multihash);\n }\n }\n }\n toV1() {\n switch (this.version) {\n case 0: {\n const {code, digest} = this.multihash;\n const multihash = Digest.create(code, digest);\n return CID.createV1(this.code, multihash);\n }\n case 1: {\n return this;\n }\n default: {\n throw Error(`Can not convert CID version ${ this.version } to version 0. This is a bug please report`);\n }\n }\n }\n equals(other) {\n return other && this.code === other.code && this.version === other.version && Digest.equals(this.multihash, other.multihash);\n }\n toString(base) {\n const {bytes, version, _baseCache} = this;\n switch (version) {\n case 0:\n return toStringV0(bytes, _baseCache, base || base58btc.encoder);\n default:\n return toStringV1(bytes, _baseCache, base || base32.encoder);\n }\n }\n toJSON() {\n return {\n code: this.code,\n version: this.version,\n hash: this.multihash.bytes\n };\n }\n get [Symbol.toStringTag]() {\n return 'CID';\n }\n [Symbol.for('nodejs.util.inspect.custom')]() {\n return 'CID(' + this.toString() + ')';\n }\n static isCID(value) {\n deprecate(/^0\\.0/, IS_CID_DEPRECATION);\n return !!(value && (value[cidSymbol] || value.asCID === value));\n }\n get toBaseEncodedString() {\n throw new Error('Deprecated, use .toString()');\n }\n get codec() {\n throw new Error('\"codec\" property is deprecated, use integer \"code\" property instead');\n }\n get buffer() {\n throw new Error('Deprecated .buffer property, use .bytes to get Uint8Array instead');\n }\n get multibaseName() {\n throw new Error('\"multibaseName\" property is deprecated');\n }\n get prefix() {\n throw new Error('\"prefix\" property is deprecated');\n }\n static asCID(value) {\n if (value instanceof CID) {\n return value;\n } else if (value != null && value.asCID === value) {\n const {version, code, multihash, bytes} = value;\n return new CID(version, code, multihash, bytes || encodeCID(version, code, multihash.bytes));\n } else if (value != null && value[cidSymbol] === true) {\n const {version, multihash, code} = value;\n const digest = Digest.decode(multihash);\n return CID.create(version, code, digest);\n } else {\n return null;\n }\n }\n static create(version, code, digest) {\n if (typeof code !== 'number') {\n throw new Error('String codecs are no longer supported');\n }\n switch (version) {\n case 0: {\n if (code !== DAG_PB_CODE) {\n throw new Error(`Version 0 CID must use dag-pb (code: ${ DAG_PB_CODE }) block encoding`);\n } else {\n return new CID(version, code, digest, digest.bytes);\n }\n }\n case 1: {\n const bytes = encodeCID(version, code, digest.bytes);\n return new CID(version, code, digest, bytes);\n }\n default: {\n throw new Error('Invalid version');\n }\n }\n }\n static createV0(digest) {\n return CID.create(0, DAG_PB_CODE, digest);\n }\n static createV1(code, digest) {\n return CID.create(1, code, digest);\n }\n static decode(bytes) {\n const [cid, remainder] = CID.decodeFirst(bytes);\n if (remainder.length) {\n throw new Error('Incorrect length');\n }\n return cid;\n }\n static decodeFirst(bytes) {\n const specs = CID.inspectBytes(bytes);\n const prefixSize = specs.size - specs.multihashSize;\n const multihashBytes = coerce(bytes.subarray(prefixSize, prefixSize + specs.multihashSize));\n if (multihashBytes.byteLength !== specs.multihashSize) {\n throw new Error('Incorrect length');\n }\n const digestBytes = multihashBytes.subarray(specs.multihashSize - specs.digestSize);\n const digest = new Digest.Digest(specs.multihashCode, specs.digestSize, digestBytes, multihashBytes);\n const cid = specs.version === 0 ? CID.createV0(digest) : CID.createV1(specs.codec, digest);\n return [\n cid,\n bytes.subarray(specs.size)\n ];\n }\n static inspectBytes(initialBytes) {\n let offset = 0;\n const next = () => {\n const [i, length] = varint.decode(initialBytes.subarray(offset));\n offset += length;\n return i;\n };\n let version = next();\n let codec = DAG_PB_CODE;\n if (version === 18) {\n version = 0;\n offset = 0;\n } else if (version === 1) {\n codec = next();\n }\n if (version !== 0 && version !== 1) {\n throw new RangeError(`Invalid CID version ${ version }`);\n }\n const prefixSize = offset;\n const multihashCode = next();\n const digestSize = next();\n const size = offset + digestSize;\n const multihashSize = size - prefixSize;\n return {\n version,\n codec,\n multihashCode,\n digestSize,\n multihashSize,\n size\n };\n }\n static parse(source, base) {\n const [prefix, bytes] = parseCIDtoBytes(source, base);\n const cid = CID.decode(bytes);\n cid._baseCache.set(prefix, source);\n return cid;\n }\n}\nconst parseCIDtoBytes = (source, base) => {\n switch (source[0]) {\n case 'Q': {\n const decoder = base || base58btc;\n return [\n base58btc.prefix,\n decoder.decode(`${ base58btc.prefix }${ source }`)\n ];\n }\n case base58btc.prefix: {\n const decoder = base || base58btc;\n return [\n base58btc.prefix,\n decoder.decode(source)\n ];\n }\n case base32.prefix: {\n const decoder = base || base32;\n return [\n base32.prefix,\n decoder.decode(source)\n ];\n }\n default: {\n if (base == null) {\n throw Error('To parse non base32 or base58btc encoded CID multibase decoder must be provided');\n }\n return [\n source[0],\n base.decode(source)\n ];\n }\n }\n};\nconst toStringV0 = (bytes, cache, base) => {\n const {prefix} = base;\n if (prefix !== base58btc.prefix) {\n throw Error(`Cannot string encode V0 in ${ base.name } encoding`);\n }\n const cid = cache.get(prefix);\n if (cid == null) {\n const cid = base.encode(bytes).slice(1);\n cache.set(prefix, cid);\n return cid;\n } else {\n return cid;\n }\n};\nconst toStringV1 = (bytes, cache, base) => {\n const {prefix} = base;\n const cid = cache.get(prefix);\n if (cid == null) {\n const cid = base.encode(bytes);\n cache.set(prefix, cid);\n return cid;\n } else {\n return cid;\n }\n};\nconst DAG_PB_CODE = 112;\nconst SHA_256_CODE = 18;\nconst encodeCID = (version, code, multihash) => {\n const codeOffset = varint.encodingLength(version);\n const hashOffset = codeOffset + varint.encodingLength(code);\n const bytes = new Uint8Array(hashOffset + multihash.byteLength);\n varint.encodeTo(version, bytes, 0);\n varint.encodeTo(code, bytes, codeOffset);\n bytes.set(multihash, hashOffset);\n return bytes;\n};\nconst cidSymbol = Symbol.for('@ipld/js-cid/CID');\nconst readonly = {\n writable: false,\n configurable: false,\n enumerable: true\n};\nconst hidden = {\n writable: false,\n enumerable: false,\n configurable: false\n};\nconst version = '0.0.0-dev';\nconst deprecate = (range, message) => {\n if (range.test(version)) {\n console.warn(message);\n } else {\n throw new Error(message);\n }\n};\nconst IS_CID_DEPRECATION = `CID.isCID(v) is deprecated and will be removed in the next major release.\nFollowing code pattern:\n\nif (CID.isCID(value)) {\n doSomethingWithCID(value)\n}\n\nIs replaced with:\n\nconst cid = CID.asCID(value)\nif (cid) {\n // Make sure to use cid instead of value\n doSomethingWithCID(cid)\n}\n`;", "import * as identityBase from './bases/identity.js';\nimport * as base2 from './bases/base2.js';\nimport * as base8 from './bases/base8.js';\nimport * as base10 from './bases/base10.js';\nimport * as base16 from './bases/base16.js';\nimport * as base32 from './bases/base32.js';\nimport * as base36 from './bases/base36.js';\nimport * as base58 from './bases/base58.js';\nimport * as base64 from './bases/base64.js';\nimport * as base256emoji from './bases/base256emoji.js';\nimport * as sha2 from './hashes/sha2.js';\nimport * as identity from './hashes/identity.js';\nimport * as raw from './codecs/raw.js';\nimport * as json from './codecs/json.js';\nimport {\n CID,\n hasher,\n digest,\n varint,\n bytes\n} from './index.js';\nconst bases = {\n ...identityBase,\n ...base2,\n ...base8,\n ...base10,\n ...base16,\n ...base32,\n ...base36,\n ...base58,\n ...base64,\n ...base256emoji\n};\nconst hashes = {\n ...sha2,\n ...identity\n};\nconst codecs = {\n raw,\n json\n};\nexport {\n CID,\n hasher,\n digest,\n varint,\n bytes,\n hashes,\n bases,\n codecs\n};", "import { bases } from 'multiformats/basics';\nimport { allocUnsafe } from '../alloc.js';\nfunction createCodec(name, prefix, encode, decode) {\n return {\n name,\n prefix,\n encoder: {\n name,\n prefix,\n encode\n },\n decoder: { decode }\n };\n}\nconst string = createCodec('utf8', 'u', buf => {\n const decoder = new TextDecoder('utf8');\n return 'u' + decoder.decode(buf);\n}, str => {\n const encoder = new TextEncoder();\n return encoder.encode(str.substring(1));\n});\nconst ascii = createCodec('ascii', 'a', buf => {\n let string = 'a';\n for (let i = 0; i < buf.length; i++) {\n string += String.fromCharCode(buf[i]);\n }\n return string;\n}, str => {\n str = str.substring(1);\n const buf = allocUnsafe(str.length);\n for (let i = 0; i < str.length; i++) {\n buf[i] = str.charCodeAt(i);\n }\n return buf;\n});\nconst BASES = {\n utf8: string,\n 'utf-8': string,\n hex: bases.base16,\n latin1: ascii,\n ascii: ascii,\n binary: ascii,\n ...bases\n};\nexport default BASES;", "import bases from './util/bases.js';\nexport function toString(array, encoding = 'utf8') {\n const base = bases[encoding];\n if (!base) {\n throw new Error(`Unsupported encoding \"${ encoding }\"`);\n }\n if ((encoding === 'utf8' || encoding === 'utf-8') && globalThis.Buffer != null && globalThis.Buffer.from != null) {\n return globalThis.Buffer.from(array.buffer, array.byteOffset, array.byteLength).toString('utf8');\n }\n return base.encoder.encode(array).substring(1);\n}", "import bases from './util/bases.js';\nimport { asUint8Array } from './util/as-uint8array.js';\nexport function fromString(string, encoding = 'utf8') {\n const base = bases[encoding];\n if (!base) {\n throw new Error(`Unsupported encoding \"${ encoding }\"`);\n }\n if ((encoding === 'utf8' || encoding === 'utf-8') && globalThis.Buffer != null && globalThis.Buffer.from != null) {\n return asUint8Array(globalThis.Buffer.from(string, 'utf-8'));\n }\n return base.decoder.decode(`${ base.prefix }${ string }`);\n}", null, "var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nvar BrowserInfo = /** @class */ (function () {\n function BrowserInfo(name, version, os) {\n this.name = name;\n this.version = version;\n this.os = os;\n this.type = 'browser';\n }\n return BrowserInfo;\n}());\nexport { BrowserInfo };\nvar NodeInfo = /** @class */ (function () {\n function NodeInfo(version) {\n this.version = version;\n this.type = 'node';\n this.name = 'node';\n this.os = process.platform;\n }\n return NodeInfo;\n}());\nexport { NodeInfo };\nvar SearchBotDeviceInfo = /** @class */ (function () {\n function SearchBotDeviceInfo(name, version, os, bot) {\n this.name = name;\n this.version = version;\n this.os = os;\n this.bot = bot;\n this.type = 'bot-device';\n }\n return SearchBotDeviceInfo;\n}());\nexport { SearchBotDeviceInfo };\nvar BotInfo = /** @class */ (function () {\n function BotInfo() {\n this.type = 'bot';\n this.bot = true; // NOTE: deprecated test name instead\n this.name = 'bot';\n this.version = null;\n this.os = null;\n }\n return BotInfo;\n}());\nexport { BotInfo };\nvar ReactNativeInfo = /** @class */ (function () {\n function ReactNativeInfo() {\n this.type = 'react-native';\n this.name = 'react-native';\n this.version = null;\n this.os = null;\n }\n return ReactNativeInfo;\n}());\nexport { ReactNativeInfo };\n// tslint:disable-next-line:max-line-length\nvar SEARCHBOX_UA_REGEX = /alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/;\nvar SEARCHBOT_OS_REGEX = /(nuhk|curl|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\\ Jeeves\\/Teoma|ia_archiver)/;\nvar REQUIRED_VERSION_PARTS = 3;\nvar userAgentRules = [\n ['aol', /AOLShield\\/([0-9\\._]+)/],\n ['edge', /Edge\\/([0-9\\._]+)/],\n ['edge-ios', /EdgiOS\\/([0-9\\._]+)/],\n ['yandexbrowser', /YaBrowser\\/([0-9\\._]+)/],\n ['kakaotalk', /KAKAOTALK\\s([0-9\\.]+)/],\n ['samsung', /SamsungBrowser\\/([0-9\\.]+)/],\n ['silk', /\\bSilk\\/([0-9._-]+)\\b/],\n ['miui', /MiuiBrowser\\/([0-9\\.]+)$/],\n ['beaker', /BeakerBrowser\\/([0-9\\.]+)/],\n ['edge-chromium', /EdgA?\\/([0-9\\.]+)/],\n [\n 'chromium-webview',\n /(?!Chrom.*OPR)wv\\).*Chrom(?:e|ium)\\/([0-9\\.]+)(:?\\s|$)/,\n ],\n ['chrome', /(?!Chrom.*OPR)Chrom(?:e|ium)\\/([0-9\\.]+)(:?\\s|$)/],\n ['phantomjs', /PhantomJS\\/([0-9\\.]+)(:?\\s|$)/],\n ['crios', /CriOS\\/([0-9\\.]+)(:?\\s|$)/],\n ['firefox', /Firefox\\/([0-9\\.]+)(?:\\s|$)/],\n ['fxios', /FxiOS\\/([0-9\\.]+)/],\n ['opera-mini', /Opera Mini.*Version\\/([0-9\\.]+)/],\n ['opera', /Opera\\/([0-9\\.]+)(?:\\s|$)/],\n ['opera', /OPR\\/([0-9\\.]+)(:?\\s|$)/],\n ['pie', /^Microsoft Pocket Internet Explorer\\/(\\d+\\.\\d+)$/],\n ['pie', /^Mozilla\\/\\d\\.\\d+\\s\\(compatible;\\s(?:MSP?IE|MSInternet Explorer) (\\d+\\.\\d+);.*Windows CE.*\\)$/],\n ['netfront', /^Mozilla\\/\\d\\.\\d+.*NetFront\\/(\\d.\\d)/],\n ['ie', /Trident\\/7\\.0.*rv\\:([0-9\\.]+).*\\).*Gecko$/],\n ['ie', /MSIE\\s([0-9\\.]+);.*Trident\\/[4-7].0/],\n ['ie', /MSIE\\s(7\\.0)/],\n ['bb10', /BB10;\\sTouch.*Version\\/([0-9\\.]+)/],\n ['android', /Android\\s([0-9\\.]+)/],\n ['ios', /Version\\/([0-9\\._]+).*Mobile.*Safari.*/],\n ['safari', /Version\\/([0-9\\._]+).*Safari/],\n ['facebook', /FB[AS]V\\/([0-9\\.]+)/],\n ['instagram', /Instagram\\s([0-9\\.]+)/],\n ['ios-webview', /AppleWebKit\\/([0-9\\.]+).*Mobile/],\n ['ios-webview', /AppleWebKit\\/([0-9\\.]+).*Gecko\\)$/],\n ['curl', /^curl\\/([0-9\\.]+)$/],\n ['searchbot', SEARCHBOX_UA_REGEX],\n];\nvar operatingSystemRules = [\n ['iOS', /iP(hone|od|ad)/],\n ['Android OS', /Android/],\n ['BlackBerry OS', /BlackBerry|BB10/],\n ['Windows Mobile', /IEMobile/],\n ['Amazon OS', /Kindle/],\n ['Windows 3.11', /Win16/],\n ['Windows 95', /(Windows 95)|(Win95)|(Windows_95)/],\n ['Windows 98', /(Windows 98)|(Win98)/],\n ['Windows 2000', /(Windows NT 5.0)|(Windows 2000)/],\n ['Windows XP', /(Windows NT 5.1)|(Windows XP)/],\n ['Windows Server 2003', /(Windows NT 5.2)/],\n ['Windows Vista', /(Windows NT 6.0)/],\n ['Windows 7', /(Windows NT 6.1)/],\n ['Windows 8', /(Windows NT 6.2)/],\n ['Windows 8.1', /(Windows NT 6.3)/],\n ['Windows 10', /(Windows NT 10.0)/],\n ['Windows ME', /Windows ME/],\n ['Windows CE', /Windows CE|WinCE|Microsoft Pocket Internet Explorer/],\n ['Open BSD', /OpenBSD/],\n ['Sun OS', /SunOS/],\n ['Chrome OS', /CrOS/],\n ['Linux', /(Linux)|(X11)/],\n ['Mac OS', /(Mac_PowerPC)|(Macintosh)/],\n ['QNX', /QNX/],\n ['BeOS', /BeOS/],\n ['OS/2', /OS\\/2/],\n];\nexport function detect(userAgent) {\n if (!!userAgent) {\n return parseUserAgent(userAgent);\n }\n if (typeof document === 'undefined' &&\n typeof navigator !== 'undefined' &&\n navigator.product === 'ReactNative') {\n return new ReactNativeInfo();\n }\n if (typeof navigator !== 'undefined') {\n return parseUserAgent(navigator.userAgent);\n }\n return getNodeVersion();\n}\nfunction matchUserAgent(ua) {\n // opted for using reduce here rather than Array#first with a regex.test call\n // this is primarily because using the reduce we only perform the regex\n // execution once rather than once for the test and for the exec again below\n // probably something that needs to be benchmarked though\n return (ua !== '' &&\n userAgentRules.reduce(function (matched, _a) {\n var browser = _a[0], regex = _a[1];\n if (matched) {\n return matched;\n }\n var uaMatch = regex.exec(ua);\n return !!uaMatch && [browser, uaMatch];\n }, false));\n}\nexport function browserName(ua) {\n var data = matchUserAgent(ua);\n return data ? data[0] : null;\n}\nexport function parseUserAgent(ua) {\n var matchedRule = matchUserAgent(ua);\n if (!matchedRule) {\n return null;\n }\n var name = matchedRule[0], match = matchedRule[1];\n if (name === 'searchbot') {\n return new BotInfo();\n }\n // Do not use RegExp for split operation as some browser do not support it (See: http://blog.stevenlevithan.com/archives/cross-browser-split)\n var versionParts = match[1] && match[1].split('.').join('_').split('_').slice(0, 3);\n if (versionParts) {\n if (versionParts.length < REQUIRED_VERSION_PARTS) {\n versionParts = __spreadArray(__spreadArray([], versionParts, true), createVersionParts(REQUIRED_VERSION_PARTS - versionParts.length), true);\n }\n }\n else {\n versionParts = [];\n }\n var version = versionParts.join('.');\n var os = detectOS(ua);\n var searchBotMatch = SEARCHBOT_OS_REGEX.exec(ua);\n if (searchBotMatch && searchBotMatch[1]) {\n return new SearchBotDeviceInfo(name, version, os, searchBotMatch[1]);\n }\n return new BrowserInfo(name, version, os);\n}\nexport function detectOS(ua) {\n for (var ii = 0, count = operatingSystemRules.length; ii < count; ii++) {\n var _a = operatingSystemRules[ii], os = _a[0], regex = _a[1];\n var match = regex.exec(ua);\n if (match) {\n return os;\n }\n }\n return null;\n}\nexport function getNodeVersion() {\n var isNode = typeof process !== 'undefined' && process.version;\n return isNode ? new NodeInfo(process.version.slice(1)) : null;\n}\nfunction createVersionParts(count) {\n var output = [];\n for (var ii = 0; ii < count; ii++) {\n output.push('0');\n }\n return output;\n}\n", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "const WALLETCONNECT_DEEPLINK_CHOICE = 'WALLETCONNECT_DEEPLINK_CHOICE';\nexport const CoreUtil = {\n isHttpUrl(url) {\n return url.startsWith('http://') || url.startsWith('https://');\n },\n formatNativeUrl(appUrl, wcUri, os, name) {\n if (CoreUtil.isHttpUrl(appUrl)) {\n return this.formatUniversalUrl(appUrl, wcUri, name);\n }\n const plainAppUrl = appUrl.replaceAll('/', '').replaceAll(':', '');\n CoreUtil.setWalletConnectDeepLink(plainAppUrl, name);\n const encodedWcUrl = encodeURIComponent(wcUri);\n return `${plainAppUrl}://wc?uri=${encodedWcUrl}`;\n },\n formatUniversalUrl(appUrl, wcUri, name) {\n if (!CoreUtil.isHttpUrl(appUrl)) {\n return this.formatNativeUrl(appUrl, wcUri, name);\n }\n let plainAppUrl = appUrl;\n if (appUrl.endsWith('/')) {\n plainAppUrl = appUrl.slice(0, -1);\n }\n CoreUtil.setWalletConnectDeepLink(plainAppUrl, name);\n const encodedWcUrl = encodeURIComponent(wcUri);\n return `${plainAppUrl}/wc?uri=${encodedWcUrl}`;\n },\n async wait(miliseconds) {\n return new Promise(resolve => {\n setTimeout(resolve, miliseconds);\n });\n },\n openHref(href, target = '_self') {\n window.open(href, target, 'noreferrer noopener');\n },\n setWalletConnectDeepLink(href, name) {\n localStorage.setItem(WALLETCONNECT_DEEPLINK_CHOICE, JSON.stringify({\n href,\n name\n }));\n },\n removeWalletConnectDeepLink() {\n localStorage.removeItem(WALLETCONNECT_DEEPLINK_CHOICE);\n }\n};", "import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { State } from '@cosmos-kit/core';\nimport { MainWalletBase } from '@cosmos-kit/core';\nexport class WCWallet extends MainWalletBase {\n constructor(walletInfo, ChainWC, WCClient) {\n if (!walletInfo.walletconnect) {\n throw new Error(`'walletconnect' info for wallet ${walletInfo.prettyName} is not provided in wallet registry.`);\n }\n super(walletInfo, ChainWC);\n _defineProperty(this, \"WCClient\", void 0);\n _defineProperty(this, \"clientMutable\", {\n state: State.Init\n });\n this.WCClient = WCClient;\n }\n async initClient(options) {\n if (!options) {\n this.initClientError(new Error('`walletconnectOptions` is not provided.'));\n return;\n }\n if (!options.signClient.projectId) {\n this.initClientError(new Error('`projectId` is not provided in `walletconnectOptions`.'));\n return;\n }\n this.initingClient();\n try {\n const client = new this.WCClient(this.walletInfo);\n client.logger = this.logger;\n client.emitter = this.emitter;\n client.env = this.env;\n client.options = options;\n await client.init();\n this.initClientDone(client);\n } catch (error) {\n this.logger?.error(error);\n this.initClientError(error);\n }\n }\n}", "import { WCClient } from \"@cosmos-kit/walletconnect\";\n\nexport class WalletConnect extends WCClient {}\n", "import { ChainRecord, Wallet } from \"@cosmos-kit/core\";\nimport { ChainWC } from \"@cosmos-kit/walletconnect\";\nimport { WalletConnect } from \"./client\";\n\nexport class ChainWalletConnect extends ChainWC {\n constructor(walletInfo: Wallet, chainInfo: ChainRecord) {\n super(walletInfo, chainInfo, WalletConnect);\n }\n}\n", "import { EndpointOptions, Wallet } from \"@cosmos-kit/core\";\nimport { WCWallet } from \"@cosmos-kit/walletconnect\";\n\nimport { ChainWalletConnect } from \"./chain-wallet\";\nimport { WalletConnect } from \"./client\";\n\nexport class WalletConnectWallet extends WCWallet {\n constructor(\n walletInfo: Wallet,\n preferredEndpoints?: EndpointOptions[\"endpoints\"]\n ) {\n super(walletInfo, ChainWalletConnect, WalletConnect);\n this.preferredEndpoints = preferredEndpoints;\n }\n}\n", "import { OS, Wallet } from \"@cosmos-kit/core\";\nimport { walletConnectWallet } from \"@rainbow-me/rainbowkit/wallets\";\nimport { config } from \"../../../config\";\n\nexport const walletConnectInfo: Wallet = {\n name: \"wallet-connect\",\n prettyName: \"WalletConnect\",\n // @ts-expect-error\n logo: walletConnectWallet({}).iconUrl,\n mode: \"wallet-connect\",\n mobileDisabled: false,\n rejectMessage: {\n source: \"Request rejected\",\n },\n downloads: [\n {\n device: \"mobile\",\n os: \"android\",\n link: \"https://play.google.com/store/apps/details?id=com.chainapsis.keplr&hl=en&gl=US&pli=1\",\n },\n {\n device: \"mobile\",\n os: \"ios\",\n link: \"https://apps.apple.com/us/app/keplr-wallet/id1567851089\",\n },\n {\n link: \"https://www.keplr.app/download\",\n },\n ],\n connectEventNamesOnWindow: [\"wallet-connect_keystorechange\"],\n walletconnect: {\n name: \"Wallet Connect\",\n projectId: config.walletConnectV2.projectId,\n encoding: \"base64\",\n mobile: {\n native: {\n ios: \"keplrwallet:\",\n android: \"intent:\",\n },\n },\n formatNativeUrl: (\n appUrl: string,\n wcUri: string,\n _os: OS | undefined,\n _name: string\n ): string => {\n const plainAppUrl = appUrl.replaceAll(\"/\", \"\").replaceAll(\":\", \"\");\n const encodedWcUrl = encodeURIComponent(wcUri);\n return `${plainAppUrl}://wcV2?${encodedWcUrl}`;\n },\n },\n};\n", "import { PropsWithChildren } from \"react\";\nimport { RainbowKitProviderWithTheme } from \"../rainbow-kit\";\nimport { chains } from \"../wagmi\";\n\nexport const EVMProvider = ({ children }: PropsWithChildren) => {\n return (\n <RainbowKitProviderWithTheme chains={chains}>\n {children}\n </RainbowKitProviderWithTheme>\n );\n};\n", "import { PropsWithChildren } from \"react\";\nimport { ChainProvider } from \"@cosmos-kit/react-lite\";\nimport { chains, assets, wallets } from \"../cosmos/config\";\nimport { config } from \"../../config\";\n\nexport const CosmosProvider = ({ children }: PropsWithChildren) => {\n return (\n <ChainProvider\n chains={chains}\n assetLists={assets}\n wallets={wallets}\n walletConnectOptions={{\n signClient: { projectId: config.walletConnectV2.projectId },\n }}\n >\n {children}\n </ChainProvider>\n );\n};\n", "import { PropsWithChildren, useMemo } from \"react\";\nimport { darkTheme, lightTheme, rootSelector, vars } from \"../styles\";\nimport { assignInlineVars } from \"@vanilla-extract/dynamic\";\nimport merge from \"lodash.merge\";\nimport { RecursivePartial } from \"../types\";\nimport { useSettings } from \"./settings\";\n\nexport type ThemeWrapperTheme =\n | RecursivePartial<typeof lightTheme>\n | {\n lightMode?: RecursivePartial<typeof lightTheme>;\n darkMode?: RecursivePartial<typeof darkTheme>;\n };\n\nexport const ThemeWrapper = ({ children }: PropsWithChildren) => {\n const { theme = { lightMode: lightTheme } } = useSettings();\n\n const finalLightTheme = useMemo(\n () =>\n \"lightMode\" in theme\n ? merge(structuredClone(lightTheme), theme.lightMode)\n : theme\n ? merge(structuredClone(lightTheme), theme)\n : lightTheme,\n [theme]\n );\n const finalDarkTheme = useMemo(\n () =>\n \"darkMode\" in theme\n ? merge(structuredClone(darkTheme), theme.darkMode)\n : null,\n [theme]\n );\n\n return (\n <>\n <style\n dangerouslySetInnerHTML={{\n __html: [\n finalLightTheme\n ? `${rootSelector} {${assignInlineVars(vars, finalLightTheme)}}`\n : null,\n\n finalDarkTheme\n ? `@media (prefers-color-scheme: dark) { ${rootSelector} {${assignInlineVars(\n vars,\n finalDarkTheme\n )}} }`\n : null,\n ].join(\"\"),\n }}\n />\n {children}\n </>\n );\n};\n"],
|
|
5
|
+
"mappings": "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K;AAAA,QAAG;AAAA,QAAG;AAAA,QAAG;AAAA,QAAG;AAAA,QAAG;AAAA,QAAG;AAAA,QAAG;AAAA,QAAG;AAAA,QAAG;AAAA,QAAG;AAAA,QAAG;AAAA,QAAG;AAAA,QAAK;AAAA,QAAG;AAAA,QAAI;AAAA,QAAG;AAAA,QAAI;AAAA,QAAG;AAAA,QAAI;AAAA,QAAG;AAAA,QAAG;AAAA,QAAK;AAAA,QAAK;AAAA,QAAK;AAAA,QAAG;AAAA,QAAG;AAAA,QAAG;AAAA,QAAK;AAAA,QAAK;AAAA,QAAK;AAAA,QAAI;AAAA,QAAK;AAAA,QAAG;AAAA,QAAG;AAAA,QAAG;AAAA,QAAK;AAAA,QAAK;AAAA,QAAK;AAAA,QAAI;AAAA,QAAK;AAAA,QAAG;AAAA,QAAG;AAAA,QAAG;AAAA,QAAK;AAAA,QAAK;AAAA,QAAK;AAAA,QAAI;AAAA,QAAK;AAAA,QAAG;AAAA,QAAG;AAAA,QAAG;AAAA,QAAK;AAAA,QAAK;AAAA,QAAK;AAAA,QAAI;AAAA,QAAK;AAAA,QAAG;AAAA,QAAG;AAAA,QAAG;AAAA,QAAK;AAAA,QAAK;AAAA,QAAK;AAAA,QAAI;AAAA,QAAK;AAAA,QAAK;AAAA,QAAK;AAAA,QAAK;AAAA,QAAG;AAAA,QAAG;AAAA,QAAI;AAAA,QAAK;AAAA,QAAG;AAAA,QAAG;AAAA,QAAG;AAAA,QAAG;AAAA,QAAI;AAAA,QAAG;AAAA,QAAI;AAAA,QAAI;AAAA,QAAG;AAAA,QAAG;AAAA,QAAK;AAAA,QAAI;AAAA,QAAG;AAAA,QAAK;AAAA,QAAI;AAAA,QAAG;AAAA,QAAK;AAAA,QAAI;AAAA,QAAI;AAAA,QAAK;AAAA,QAAK;AAAA,QAAI;AAAA,QAAG;AAAA,QAAK;AAAA,QAAI;AAAA,QAAG;AAAA,QAAK;AAAA,QAAI;AAAA,QAAI;AAAA,QAAK;AAAA,QAAK;AAAA,QAAK;AAAA,QAAI;AAAA,QAAG;AAAA,QAAI;AAAA,QAAI;AAAA,QAAK;AAAA,QAAK;AAAA,QAAI;AAAA,QAAG;AAAA,QAAI;AAAA,QAAG;AAAA,QAAK;AAAA,QAAI;AAAA,QAAI;AAAA,QAAG;AAAA,QAAG;AAAA,QAAK;AAAA,QAAI;AAAA,QAAG;AAAA,QAAK;AAAA,QAAI;AAAA,QAAG;AAAA,QAAK;AAAA,QAAI;AAAA,QAAI;AAAA,QAAK;AAAA,QAAK;AAAA,QAAI;AAAA,QAAG;AAAA,QAAK;AAAA,QAAI;AAAA,QAAG;AAAA,QAAK;AAAA,QAAI;AAAA,QAAI;AAAA,QAAK;AAAA,QAAK;AAAA,QAAK;AAAA,QAAI;AAAA,QAAG;AAAA,QAAI;AAAA,QAAI;AAAA,QAAK;AAAA,QAAK;AAAA,QAAI;AAAA,QAAG;AAAA,QAAI;AAAA,QAAG;AAAA,QAAK;AAAA,QAAI;AAAA,QAAI;AAAA,QAAG;AAAA,QAAG;AAAA,QAAK;AAAA,QAAI;AAAA,QAAG;AAAA,QAAK;AAAA,QAAI;AAAA,QAAG;AAAA,QAAK;AAAA,QAAI;AAAA,QAAI;AAAA,QAAK;AAAA,QAAK;AAAA,QAAI;AAAA,QAAG;AAAA,QAAK;AAAA,QAAI;AAAA,QAAG;AAAA,QAAK;AAAA,QAAI;AAAA,QAAI;AAAA,QAAK;AAAA,QAAK;AAAA,QAAK;AAAA,QAAI;AAAA,QAAG;AAAA,QAAI;AAAA,QAAI;AAAA,QAAK;AAAA,QAAK;AAAA,QAAI;AAAA,QAAG;AAAA,QAAI;AAAA,QAAG;AAAA,QAAK;AAAA,QAAI;AAAA,QAAI;AAAA,QAAG;AAAA,QAAG;AAAA,QAAK;AAAA,QAAI;AAAA,QAAG;AAAA,QAAK;AAAA,QAAI;AAAA,QAAG;AAAA,QAAK;AAAA,QAAI;AAAA,QAAI;AAAA,QAAK;AAAA,QAAK;AAAA,QAAI;AAAA,QAAG;AAAA,QAAK;AAAA,QAAI;AAAA,QAAG;AAAA,QAAK;AAAA,QAAI;AAAA,QAAI;AAAA,QAAK;AAAA,QAAK;AAAA,QAAK;AAAA,QAAI;AAAA,QAAG;AAAA,QAAI;AAAA,QAAI;AAAA,QAAK;AAAA,QAAK;AAAA,QAAI;AAAA,QAAG;AAAA,QAAI;AAAA,QAAG;AAAA,QAAK;AAAA,QAAI;AAAA,QAAI;AAAA,QAAG;AAAA,QAAG;AAAA,QAAK;AAAA,QAAI;AAAA,QAAG;AAAA,QAAK;AAAA,QAAI;AAAA,QAAG;AAAA,QAAK;AAAA,QAAI;AAAA,QAAI;AAAA,QAAK;AAAA,QAA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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AjEAf,kBAAiB;;;AkEJjB,IAAM,gCAAgC;AAC/B,IAAM,WAAW;AAAA,EACtB,UAAU,KAAK;AACb,WAAO,IAAI,WAAW,SAAS,KAAK,IAAI,WAAW,UAAU;AAAA,EAC/D;AAAA,EACA,gBAAgB,QAAQ,OAAOC,KAAIC,OAAM;AACvC,QAAI,SAAS,UAAU,MAAM,GAAG;AAC9B,aAAO,KAAK,mBAAmB,QAAQ,OAAOA,KAAI;AAAA,IACpD;AACA,UAAM,cAAc,OAAO,WAAW,KAAK,EAAE,EAAE,WAAW,KAAK,EAAE;AACjE,aAAS,yBAAyB,aAAaA,KAAI;AACnD,UAAM,eAAe,mBAAmB,KAAK;AAC7C,WAAO,GAAG,WAAW,aAAa,YAAY;AAAA,EAChD;AAAA,EACA,mBAAmB,QAAQ,OAAOA,OAAM;AACtC,QAAI,CAAC,SAAS,UAAU,MAAM,GAAG;AAC/B,aAAO,KAAK,gBAAgB,QAAQ,OAAOA,KAAI;AAAA,IACjD;AACA,QAAI,cAAc;AAClB,QAAI,OAAO,SAAS,GAAG,GAAG;AACxB,oBAAc,OAAO,MAAM,GAAG,EAAE;AAAA,IAClC;AACA,aAAS,yBAAyB,aAAaA,KAAI;AACnD,UAAM,eAAe,mBAAmB,KAAK;AAC7C,WAAO,GAAG,WAAW,WAAW,YAAY;AAAA,EAC9C;AAAA,EACA,MAAM,KAAK,aAAa;AACtB,WAAO,IAAI,QAAQ,aAAW;AAC5B,iBAAW,SAAS,WAAW;AAAA,IACjC,CAAC;AAAA,EACH;AAAA,EACA,SAAS,MAAM,SAAS,SAAS;AAC/B,WAAO,KAAK,MAAM,QAAQ,qBAAqB;AAAA,EACjD;AAAA,EACA,yBAAyB,MAAMA,OAAM;AACnC,iBAAa,QAAQ,+BAA+B,KAAK,UAAU;AAAA,MACjE;AAAA,MACA,MAAAA;AAAA,IACF,CAAC,CAAC;AAAA,EACJ;AAAA,EACA,8BAA8B;AAC5B,iBAAa,WAAW,6BAA6B;AAAA,EACvD;AACF;;;AlErCA,IAAM,eAAe;AACd,IAAM,WAAN,MAAe;AAAA;AAAA,EAGpB,YAAY,YAAY;AACtB,oBAAgB,MAAM,cAAc,MAAM;AAC1C,oBAAgB,MAAM,cAAc,MAAM;AAC1C,oBAAgB,MAAM,eAAe,MAAM;AAC3C,oBAAgB,MAAM,WAAW,MAAM;AACvC,oBAAgB,MAAM,SAAS,MAAM;AACrC,oBAAgB,MAAM,UAAU,MAAM;AACtC,oBAAgB,MAAM,YAAY,CAAC,CAAC;AACpC,oBAAgB,MAAM,YAAY,CAAC,CAAC;AACpC,oBAAgB,MAAM,WAAW,MAAM;AACvC,oBAAgB,MAAM,UAAU,MAAM;AACtC,oBAAgB,MAAM,WAAW,MAAM;AACvC,oBAAgB,MAAM,YAAY,MAAM;AACxC,oBAAgB,MAAM,OAAO,MAAM;AACnC,QAAI,CAAC,WAAW,eAAe;AAC7B,YAAM,IAAI,MAAM,mCAAmC,WAAW,UAAU,sCAAsC;AAAA,IAChH;AACA,SAAK,aAAa;AAClB,SAAK,QAAQ;AAAA,MACX,OAAOC,OAAM;AAAA,IACf;AACA,SAAK,SAAS;AAAA,MACZ,OAAOA,OAAM;AAAA,IACf;AAAA,EACF;AAAA,EACA,IAAI,WAAW;AACb,WAAO,KAAK,KAAK,WAAW;AAAA,EAC9B;AAAA;AAAA,EAGA,IAAI,SAAS;AACX,WAAO,KAAK,WAAW,cAAc;AAAA,EACvC;AAAA;AAAA,EAGA,IAAI,aAAa;AACf,WAAO,KAAK,WAAW,cAAc,YAAY;AAAA,EACnD;AAAA;AAAA,EAGA,IAAI,cAAc;AAChB,WAAO,KAAK,WAAW,cAAc;AAAA,EACvC;AAAA;AAAA,EAGA,IAAI,WAAW;AACb,WAAO,KAAK,WAAW,cAAc;AAAA,EACvC;AAAA,EACA,IAAI,WAAW;AACb,UAAM,WAAW,CAAC;AAClB,SAAK,SAAS,QAAQ,OAAK;AACzB,aAAO,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM;AACpD,gBAAQ,SAAS,QAAQ,aAAW;AAClC,gBAAM,CAAC,WAAW,SAAS,OAAO,IAAI,QAAQ,MAAM,GAAG;AACvD,mBAAS,KAAK;AAAA,YACZ;AAAA,YACA;AAAA,YACA;AAAA,UACF,CAAC;AAAA,QACH,CAAC;AAAA,MACH,CAAC;AAAA,IACH,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EACA,cAAc,OAAO;AACnB,UAAM,WAAW,CAAC;AAClB,SAAK,WAAW,KAAK,SAAS,OAAO,OAAK;AACxC,UAAI,EAAE,UAAU,OAAO;AACrB,UAAE,WAAW,OAAO,SAAS,QAAQ,aAAW;AAC9C,gBAAM,CAAC,EAAE,OAAO,IAAI,QAAQ,MAAM,GAAG;AACrC,mBAAS,KAAK,OAAO;AAAA,QACvB,CAAC;AACD,eAAO;AAAA,MACT,OAAO;AACL,eAAO;AAAA,MACT;AAAA,IACF,CAAC;AACD,SAAK,SAAS,KAAK,SAAS,QAAQ;AACpC,SAAK,QAAQ,MAAM,6BAA6B;AAAA,EAClD;AAAA,EACA,oBAAoB;AAClB,QAAI,OAAO,KAAK,eAAe,aAAa;AAC1C,YAAM,IAAI,MAAM,kCAAkC;AAAA,IACpD;AACA,SAAK,WAAW,GAAG,gBAAgB,UAAQ;AACzC,WAAK,QAAQ,MAAM,SAAS,gBAAgB,IAAI;AAAA,IAClD,CAAC;AACD,SAAK,WAAW,GAAG,iBAAiB,OAAM,SAAQ;AAChD,WAAK,QAAQ,MAAM,SAAS,iBAAiB,IAAI;AAAA,IAYnD,CAAC;AAED,SAAK,WAAW,GAAG,kBAAkB,CAAC;AAAA,MACpC;AAAA,MACA;AAAA,IACF,MAAM;AACJ,WAAK,QAAQ,MAAM,SAAS,kBAAkB;AAAA,QAC5C;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IAMH,CAAC;AAED,SAAK,WAAW,GAAG,kBAAkB,UAAQ;AAC3C,WAAK,QAAQ,MAAM,SAAS,kBAAkB,IAAI;AAClD,WAAK,cAAc,KAAK,KAAK;AAAA,IAC/B,CAAC;AACD,SAAK,WAAW,GAAG,kBAAkB,UAAQ;AAC3C,WAAK,QAAQ,MAAM,SAAS,kBAAkB,IAAI;AAClD,WAAK,cAAc,KAAK,KAAK;AAAA,IAC/B,CAAC;AACD,SAAK,WAAW,GAAG,oBAAoB,UAAQ;AAC7C,WAAK,QAAQ,MAAM,SAAS,oBAAoB,IAAI;AAAA,IACtD,CAAC;AACD,SAAK,WAAW,GAAG,mBAAmB,UAAQ;AAC5C,WAAK,QAAQ,MAAM,SAAS,mBAAmB,IAAI;AAAA,IACrD,CAAC;AACD,SAAK,WAAW,GAAG,mBAAmB,UAAQ;AAC5C,WAAK,QAAQ,MAAM,SAAS,mBAAmB,IAAI;AAAA,IACrD,CAAC;AAAA,EACH;AAAA,EACA,MAAM,yBAAyB;AAC7B,QAAI,OAAO,KAAK,eAAe,aAAa;AAC1C,YAAM,IAAI,MAAM,kCAAkC;AAAA,IACpD;AACA,eAAW,WAAW,KAAK,WAAW,QAAQ,OAAO;AAAA,MACnD,QAAQ;AAAA,IACV,CAAC,GAAG;AACF,YAAM,KAAK,WAAW,QAAQ,OAAO,QAAQ,OAAO;AAAA,QAClD,MAAM;AAAA,QACN,SAAS;AAAA,MACX,CAAC;AACD,WAAK,QAAQ,MAAM,4BAA4B,QAAQ,KAAK;AAAA,IAC9D;AAAA,EACF;AAAA,EACA,kBAAkB;AAChB,QAAI,OAAO,KAAK,eAAe,aAAa;AAC1C,YAAM,IAAI,MAAM,kCAAkC;AAAA,IACpD;AACA,SAAK,WAAW,KAAK,WAAW,QAAQ,OAAO;AAAA,MAC7C,QAAQ;AAAA,IACV,CAAC,EAAE,OAAO,CAAAC,OAAKA,GAAE,cAAc,SAAS,KAAK,UAAUA,GAAE,SAAS,MAAO,KAAK,IAAI,IAAI,GAAI;AAC1F,SAAK,QAAQ,MAAM,uBAAuB,KAAK,QAAQ;AAAA,EACzD;AAAA,EACA,IAAI,UAAU;AACZ,WAAO,KAAK,SAAS,CAAC;AAAA,EACxB;AAAA,EACA,kBAAkB;AAChB,QAAI,OAAO,KAAK,eAAe,aAAa;AAC1C,YAAM,IAAI,MAAM,kCAAkC;AAAA,IACpD;AACA,SAAK,WAAW,KAAK,WAAW,QAAQ,OAAO,EAAE,OAAO,OAAK,EAAE,KAAK,SAAS,SAAS,KAAK,UAAU,EAAE,SAAS,MAAO,KAAK,IAAI,IAAI,GAAI;AACxI,SAAK,QAAQ,MAAM,uBAAuB,KAAK,QAAQ;AAAA,EACzD;AAAA,EACA,WAAW,WAAW,SAAS;AAC7B,WAAO,KAAK,SAAS,KAAK,OAAK,EAAE,WAAW,SAAS,GAAG,UAAU,KAAK,aAAW,QAAQ,WAAW,GAAG,SAAS,IAAI,OAAO,EAAE,CAAC,CAAC;AAAA,EAClI;AAAA,EACA,IAAI,aAAa;AACf,WAAO,KAAK,WAAW;AAAA,EACzB;AAAA,EACA,IAAI,gBAAgB;AAClB,WAAO,KAAK,SAAS,WAAW;AAAA,EAClC;AAAA,EACA,WAAW,SAAS;AAClB,SAAK,UAAU;AAAA,EACjB;AAAA,EACA,WAAW,OAAO;AAChB,SAAK,MAAM,QAAQ;AACnB,SAAK,SAAS,OAAO,MAAM,KAAK;AAAA,EAClC;AAAA,EACA,WAAW,GAAG;AACZ,SAAK,WAAWD,OAAM,KAAK;AAC3B,SAAK,MAAM,UAAU,OAAO,MAAM,WAAW,IAAI,GAAG;AACpD,SAAK,SAAS,OAAO,UAAU,KAAK,MAAM,OAAO;AACjD,QAAI,OAAO,MAAM,YAAY,GAAG,OAAO;AACrC,WAAK,QAAQ,MAAM,EAAE,KAAK;AAAA,IAC5B;AAAA,EACF;AAAA,EACA,MAAM,OAAO;AACX,UAAM,KAAK,eAAe;AAC1B,QAAI,KAAK,UAAU;AACjB,YAAM,KAAK,WAAW;AAAA,IACxB;AAAA,EACF;AAAA,EACA,MAAM,iBAAiB;AACrB,QAAI,KAAK,cAAc,KAAK,aAAa,KAAK,SAAS,WAAW,UAAU;AAC1E;AAAA,IACF;AACA,SAAK,aAAa,MAAME,GAAW,KAAK,KAAK,SAAS,UAAU;AAChE,SAAK,WAAW,KAAK,SAAS,WAAW;AACzC,SAAK,QAAQ,MAAM,oBAAoB,KAAK,UAAU;AACtD,SAAK,QAAQ,MAAM,kBAAkB,KAAK,SAAS,WAAW,QAAQ;AACtE,SAAK,kBAAkB;AACvB,SAAK,gBAAgB;AACrB,SAAK,gBAAgB;AAAA,EACvB;AAAA,EACA,MAAM,kBAAkB;AACtB,UAAM,UAAU,GAAG,YAAY,yBAAyB,KAAK,aAAa,wBAAwB,KAAK,MAAM;AAC7G,UAAM,UAAU,OAAO,MAAM,MAAM,OAAO,GAAG,KAAK;AAClD,SAAK,cAAc,QAAQ,SAAS,KAAK,WAAW,eAAe,SAAS;AAC5E,SAAK,QAAQ,MAAM,uBAAuB,KAAK,WAAW;AAAA,EAC5D;AAAA,EACA,MAAM,aAAa;AACjB,SAAK,OAAO,QAAQF,OAAM;AAC1B,QAAI,CAAC,KAAK;AAAa,YAAM,KAAK,gBAAgB;AAClD,UAAM,SAAS,KAAK,YAAY,OAAO,UAAU,KAAK,UAAU;AAChE,UAAM,YAAY,KAAK,YAAY,OAAO,aAAa,KAAK,UAAU;AACtE,SAAK,OAAO,OAAO;AAAA,MACjB;AAAA,MACA;AAAA,IACF;AACA,SAAK,OAAO,QAAQA,OAAM;AAAA,EAC5B;AAAA,EACA,IAAI,YAAY;AACd,UAAM,SAAS,KAAK,OAAO,MAAM;AACjC,QAAI,OAAO,WAAW,YAAY,OAAO,WAAW,aAAa;AAC/D,aAAO;AAAA,IACT,OAAO;AACL,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,IAAI;AACJ,cAAQ,KAAK,KAAK,IAAI;AAAA,QACpB,KAAK;AACH,iBAAO;AAAA,QACT,KAAK;AACH,iBAAO;AAAA,QACT,KAAK;AACH,iBAAO;AAAA,QACT,KAAK;AACH,iBAAO;AAAA,QACT;AACE,gBAAM,IAAI,MAAM,eAAe,KAAK,KAAK,EAAE,GAAG;AAAA,MAClD;AAAA,IACF;AAAA,EACF;AAAA,EACA,IAAI,eAAe;AACjB,WAAO,KAAK,OAAO,MAAM;AAAA,EAC3B;AAAA,EACA,IAAI,eAAe;AACjB,WAAO,KAAK,aAAa,KAAK;AAAA,EAChC;AAAA,EACA,IAAI,wBAAwB;AAC1B,QAAI;AACJ,QAAI,KAAK,WAAW;AAClB,cAAQ,KAAK,WAAW,cAAc,mBAAmB,SAAS,iBAAiB,KAAK,WAAW,KAAK,MAAM,MAAM,KAAK,KAAK,IAAI,KAAK,UAAU;AAAA,IACnJ,WAAW,KAAK,cAAc;AAC5B,cAAQ,KAAK,WAAW,cAAc,sBAAsB,SAAS,oBAAoB,KAAK,cAAc,KAAK,MAAM,MAAM,KAAK,UAAU;AAAA,IAC9I;AACA,WAAO;AAAA,EACT;AAAA,EACA,IAAI,gBAAgB;AAClB,QAAI,KAAK,WAAW,KAAK,UAAU;AACjC,aAAO;AAAA,IACT,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,IAAI,WAAW;AACb,WAAO,QAAQ,KAAK,aAAa,KAAK,aAAa,KAAK,aAAa;AAAA,EACvE;AAAA,EACA,QAAQ,YAAY,MAAM;AACxB,UAAM,OAAO,YAAY,KAAK,wBAAwB,KAAK;AAC3D,QAAI,MAAM;AACR,WAAK,QAAQ,MAAM,gBAAgB,IAAI;AACvC,eAAS,SAAS,IAAI;AAAA,IACxB,OAAO;AACL,WAAK,QAAQ,MAAM,sBAAsB;AAAA,IAC3C;AAAA,EACF;AAAA,EACA,MAAM,QAAQ,UAAU;AACtB,QAAI,OAAO,KAAK,eAAe,aAAa;AAC1C,YAAM,IAAI,MAAM,kCAAkC;AAAA,IACpD;AACA,QAAI,KAAK,MAAM,UAAU,QAAQ;AAC/B,WAAK,WAAWA,OAAM,IAAI;AAAA,IAC5B;AACA,UAAM,iBAAiB,OAAO,aAAa,WAAW,CAAC,UAAU,QAAQ,EAAE,IAAI,SAAS,IAAI,aAAW,UAAU,OAAO,EAAE;AAC1H,SAAK,gBAAgB;AACrB,UAAM,UAAU,KAAK;AACrB,SAAK,QAAQ,MAAM,qCAAqC,SAAS,KAAK;AACtE,QAAI,KAAK;AAAe,WAAK,WAAWA,OAAM,OAAO;AACrD,UAAM,qBAAqB;AAAA,MACzB,QAAQ;AAAA,QACN,SAAS,CAAC,sBAAsB,oBAAoB,mBAAmB;AAAA,QACvE,QAAQ;AAAA,QACR,QAAQ,CAAC,gBAAgB,iBAAiB;AAAA,MAC5C;AAAA,IACF;AACA,QAAI;AACJ,QAAI;AACF,WAAK,QAAQ,MAAM,sBAAsB,cAAc;AACvD,oBAAc,MAAM,KAAK,WAAW,QAAQ;AAAA,QAC1C,cAAc,SAAS;AAAA,QACvB;AAAA,MACF,CAAC;AAQD,WAAK,MAAM,OAAO,YAAY;AAC9B,WAAK,QAAQ,MAAM,iBAAiB,YAAY,GAAG;AACnD,UAAI,KAAK;AAAe,aAAK,WAAWA,OAAM,IAAI;AAAA,IACpD,SAAS,OAAP;AACA,WAAK,QAAQ,MAAM,0BAA0B,KAAK;AAClD,UAAI,KAAK;AAAe,aAAK,WAAW,KAAK;AAC7C;AAAA,IACF;AACA,QAAI,KAAK;AAAU,WAAK,QAAQ;AAChC,QAAI;AACF,YAAM,UAAU,MAAM,YAAY,SAAS;AAC3C,WAAK,QAAQ,MAAM,wBAAwB,OAAO;AAClD,WAAK,SAAS,KAAK,OAAO;AAC1B,WAAK,gBAAgB;AAAA,IACvB,SAAS,OAAP;AACA,WAAK,QAAQ,MAAM,4BAA4B,KAAK;AACpD,YAAM,KAAK,uBAAuB;AAClC,UAAI,CAAC,OAAO;AACV,YAAI,KAAK;AAAe,eAAK,WAAW,YAAY;AACpD,cAAM,IAAI,MAAM,kBAAkB;AAAA,MACpC,WAAW,MAAM,QAAQ,MAAM;AAC7B,cAAM;AAAA,MACR,OAAO;AACL,cAAM;AAAA,MACR;AAAA,IACF,UAAE;AACA,UAAI,CAAC,WAAW,KAAK,MAAM,YAAY,aAAa,SAAS;AAC3D,aAAK,WAAWA,OAAM,IAAI;AAAA,MAC5B;AAAA,IACF;AAAA,EACF;AAAA,EACA,MAAM,aAAa;AACjB,QAAI,OAAO,KAAK,eAAe,aAAa;AAC1C,YAAM,IAAI,MAAM,kCAAkC;AAAA,IACpD;AACA,QAAI,KAAK,SAAS,WAAW,GAAG;AAC9B;AAAA,IACF;AACA,eAAW,WAAW,KAAK,UAAU;AACnC,UAAI;AACF,aAAK,QAAQ,MAAM,mBAAmB,OAAO;AAC7C,cAAM,KAAK,WAAW,WAAW;AAAA,UAC/B,OAAO,QAAQ;AAAA,UACf,QAAQG,GAAY,mBAAmB;AAAA,QACzC,CAAC;AAAA,MACH,SAAS,OAAP;AACA,aAAK,QAAQ,MAAM,iCAAiC,QAAQ,KAAK,YAAY,KAAK;AAAA,MACpF;AAAA,IACF;AACA,SAAK,WAAW,CAAC;AACjB,SAAK,SAAS,KAAK,iBAAiB;AACpC,SAAK,QAAQ,MAAM,uCAAuC;AAAA,EAC5D;AAAA,EACA,MAAM,iBAAiB,SAAS;AAC9B,UAAM,UAAU,KAAK,SAAS,KAAK,CAAC;AAAA,MAClC,SAASC;AAAA,IACX,MAAMA,QAAO,OAAO;AACpB,QAAI,CAAC,SAAS;AACZ,YAAM,IAAI,MAAM,SAAS,OAAO,qEAAqE;AAAA,IACvG;AACA,WAAO;AAAA,EACT;AAAA,EACA,sBAAsB,SAAS;AAC7B,WAAO;AAAA,MACL,aAAa,YAAY,CAAC,MAAM,KAAK,WAAW,OAAO,CAAC;AAAA,MACxD,WAAW,CAAC,eAAe,YAAY,KAAK,UAAU,SAAS,eAAe,OAAO;AAAA,IACvF;AAAA,EACF;AAAA,EACA,uBAAuB,SAAS;AAC9B,WAAO;AAAA,MACL,aAAa,YAAY,CAAC,MAAM,KAAK,WAAW,OAAO,CAAC;AAAA,MACxD,YAAY,CAAC,eAAe,YAAY,KAAK,WAAW,SAAS,eAAe,OAAO;AAAA,IACzF;AAAA,EACF;AAAA,EACA,MAAM,iBAAiB,SAAS,mBAAmB;AACjD,QAAI,sBAAsB,WAAW,KAAK,uBAAuB;AAC/D,aAAO,KAAK,sBAAsB,OAAO;AAAA,IAC3C;AACA,QAAI,sBAAsB,YAAY,KAAK,wBAAwB;AACjE,aAAO,KAAK,uBAAuB,OAAO;AAAA,IAC5C;AACA,WAAO,KAAK,wBAAwB,KAAK,wBAAwB,OAAO,IAAI,KAAK,uBAAuB,OAAO;AAAA,EACjH;AAAA,EACA,MAAM,YAAY,SAAS;AACzB,UAAM,UAAU,KAAK,WAAW,UAAU,OAAO;AACjD,QAAI,CAAC,SAAS;AACZ,YAAM,IAAI,MAAM,eAAe,OAAO,uBAAuB;AAAA,IAC/D;AACA,UAAM,OAAO,MAAM,KAAK,WAAW,QAAQ;AAAA,MACzC,OAAO,QAAQ;AAAA,MACf,SAAS,UAAU,OAAO;AAAA,MAC1B,SAAS;AAAA,QACP,QAAQ;AAAA,QACR,QAAQ,CAAC;AAAA,MACX;AAAA,IACF,CAAC;AACD,SAAK,QAAQ,MAAM,kCAAkC,IAAI;AACzD,WAAO;AAAA,EACT;AAAA,EACA,MAAM,WAAW,SAAS;AACxB,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,IACF,KAAK,MAAM,KAAK,YAAY,OAAO,GAAG,CAAC;AACvC,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,QAAQ,IAAI,WAAW,OAAO,KAAK,QAAQ,KAAK,UAAU,CAAC;AAAA,IAC7D;AAAA,EACF;AAAA,EACA,MAAM,WAAW,SAAS,QAAQ,SAAS,aAAa;AACtD,UAAM,UAAU,KAAK,WAAW,UAAU,OAAO;AACjD,QAAI,CAAC,SAAS;AACZ,YAAM,IAAI,MAAM,eAAe,OAAO,uBAAuB;AAAA,IAC/D;AACA,QAAI,KAAK;AAAU,WAAK,QAAQ;AAChC,UAAM,OAAO,MAAM,KAAK,WAAW,QAAQ;AAAA,MACzC,OAAO,QAAQ;AAAA,MACf,SAAS,UAAU,OAAO;AAAA,MAC1B,SAAS;AAAA,QACP,QAAQ;AAAA,QACR,QAAQ;AAAA,UACN,eAAe;AAAA,UACf;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AACD,SAAK,QAAQ,MAAM,gCAAgC,IAAI;AACvD,WAAO;AAAA,EACT;AAAA,EACA,MAAM,UAAU,SAAS,QAAQ,SAAS,aAAa;AACrD,UAAM,SAAS,MAAM,KAAK,WAAW,SAAS,QAAQ,SAAS,WAAW;AAC1E,WAAO;AAAA,EACT;AAAA,EACA,MAAM,YAAY,SAAS,QAAQ,SAAS,aAAa;AACvD,UAAM,UAAU,KAAK,WAAW,UAAU,OAAO;AACjD,QAAI,CAAC,SAAS;AACZ,YAAM,IAAI,MAAM,eAAe,OAAO,uBAAuB;AAAA,IAC/D;AACA,UAAM,eAAe;AAAA,MACnB,eAAe;AAAA,MACf,SAAS;AAAA,QACP,SAAS,QAAQ;AAAA,QACjB,WAAW,OAAO,KAAK,QAAQ,SAAS,EAAE,SAAS,KAAK,UAAU;AAAA,QAClE,eAAe,OAAO,KAAK,QAAQ,aAAa,EAAE,SAAS,KAAK,UAAU;AAAA,QAC1E,eAAe,QAAQ,cAAc,SAAS;AAAA,MAChD;AAAA,IACF;AACA,QAAI,KAAK;AAAU,WAAK,QAAQ;AAChC,UAAM,OAAO,MAAM,KAAK,WAAW,QAAQ;AAAA,MACzC,OAAO,QAAQ;AAAA,MACf,SAAS,UAAU,OAAO;AAAA,MAC1B,SAAS;AAAA,QACP,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,IACF,CAAC;AACD,SAAK,QAAQ,MAAM,iCAAiC,IAAI;AACxD,WAAO;AAAA,EACT;AAAA,EACA,MAAM,WAAW,SAAS,QAAQ,SAAS,aAAa;AACtD,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,IACF,IAAI,MAAM,KAAK,YAAY,SAAS,QAAQ,SAAS,WAAW;AAChE,WAAO;AAAA,MACL,QAAQ;AAAA,QACN,SAAS,OAAO;AAAA,QAChB,eAAe,YAAAC,QAAK,WAAW,OAAO,eAAe,KAAK;AAAA,QAC1D,eAAe,IAAI,WAAW,OAAO,KAAK,OAAO,eAAe,KAAK,UAAU,CAAC;AAAA,QAChF,WAAW,IAAI,WAAW,OAAO,KAAK,OAAO,WAAW,KAAK,UAAU,CAAC;AAAA,MAC1E;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAqBF;;;AmE5gBA,SAAS,SAAAC,cAAa;AACtB,SAAS,sBAAsB;AACxB,IAAM,WAAN,cAAuB,eAAe;AAAA,EAC3C,YAAY,YAAYC,UAASC,WAAU;AACzC,QAAI,CAAC,WAAW,eAAe;AAC7B,YAAM,IAAI,MAAM,mCAAmC,WAAW,UAAU,sCAAsC;AAAA,IAChH;AACA,UAAM,YAAYD,QAAO;AACzB,oBAAgB,MAAM,YAAY,MAAM;AACxC,oBAAgB,MAAM,iBAAiB;AAAA,MACrC,OAAOD,OAAM;AAAA,IACf,CAAC;AACD,SAAK,WAAWE;AAAA,EAClB;AAAA,EACA,MAAM,WAAW,SAAS;AACxB,QAAI,CAAC,SAAS;AACZ,WAAK,gBAAgB,IAAI,MAAM,yCAAyC,CAAC;AACzE;AAAA,IACF;AACA,QAAI,CAAC,QAAQ,WAAW,WAAW;AACjC,WAAK,gBAAgB,IAAI,MAAM,wDAAwD,CAAC;AACxF;AAAA,IACF;AACA,SAAK,cAAc;AACnB,QAAI;AACF,YAAM,SAAS,IAAI,KAAK,SAAS,KAAK,UAAU;AAChD,aAAO,SAAS,KAAK;AACrB,aAAO,UAAU,KAAK;AACtB,aAAO,MAAM,KAAK;AAClB,aAAO,UAAU;AACjB,YAAM,OAAO,KAAK;AAClB,WAAK,eAAe,MAAM;AAAA,IAC5B,SAAS,OAAP;AACA,WAAK,QAAQ,MAAM,KAAK;AACxB,WAAK,gBAAgB,KAAK;AAAA,IAC5B;AAAA,EACF;AACF;;;ACpCO,IAAM,gBAAN,cAA4B,SAAS;AAAC;;;ACEtC,IAAM,qBAAN,cAAiC,QAAQ;AAAA,EAC9C,YAAY,YAAoB,WAAwB;AACtD,UAAM,YAAY,WAAW,aAAa;AAAA,EAC5C;AACF;;;ACFO,IAAM,sBAAN,cAAkC,SAAS;AAAA,EAChD,YACE,YACA,oBACA;AACA,UAAM,YAAY,oBAAoB,aAAa;AACnD,SAAK,qBAAqB;AAAA,EAC5B;AACF;;;ACbA,SAAS,uBAAAC,4BAA2B;AAG7B,IAAM,oBAA4B;AAAA,EACvC,MAAM;AAAA,EACN,YAAY;AAAA;AAAA,EAEZ,MAAMC,qBAAoB,CAAC,CAAC,EAAE;AAAA,EAC9B,MAAM;AAAA,EACN,gBAAgB;AAAA,EAChB,eAAe;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,WAAW;AAAA,IACT;AAAA,MACE,QAAQ;AAAA,MACR,IAAI;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,IAAI;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,IACA;AAAA,MACE,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,2BAA2B,CAAC,+BAA+B;AAAA,EAC3D,eAAe;AAAA,IACb,MAAM;AAAA,IACN,WAAWC,QAAO,gBAAgB;AAAA,IAClC,UAAU;AAAA,IACV,QAAQ;AAAA,MACN,QAAQ;AAAA,QACN,KAAK;AAAA,QACL,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,iBAAiB,CACf,QACA,OACA,KACA,UACW;AACX,YAAM,cAAc,OAAO,WAAW,KAAK,EAAE,EAAE,WAAW,KAAK,EAAE;AACjE,YAAM,eAAe,mBAAmB,KAAK;AAC7C,aAAO,GAAG,WAAW,WAAW,YAAY;AAAA,IAC9C;AAAA,EACF;AACF;;;A1E9CA,SAAyB,aAAAC,YAAW,WAAAC,gBAAe;AAEnD,SAAS,wBAAwB;AACjC,SAAS,sBAAAC,qBAAoB,UAAAC,eAAc;AAKpC,IAAM,0BAA0B,IAAI,IAAI;AAAA,EAC7C,CAAC,aAAa,QAAQ;AAAA,EACtB,GAAG,OAAO,OAAOC,eAAc,EAC5B,OAAO,CAAC,QAAQ,QAAQA,gBAAe,WAAW,EAClD,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAU;AACrC,CAAC;AAIM,IAAMC,UAA2B,UAAU;AAAA,EAAO,CAAC,UACxD,wBAAwB,IAAI,MAAM,UAAqC;AACzE;AAEO,IAAM,eAA2CA,QAAO;AAAA,EAC7D,CAACC,OAAMA,GAAE,eAAe;AAC1B;AAEO,IAAM,SAA2B,UAAU;AAAA,EAAO,CAAC,UACxD,wBAAwB,IAAI,MAAM,UAAqC;AACzE;AAEO,IAAM,WAGT,IAAI,IAAI,OAAO,IAAI,CAACC,OAAM,CAACA,GAAE,YAAYA,EAAC,CAAC,CAAC;AAEzC,IAAM,WAAW,IAAI,oBAAoB,iBAAiB;AAE1D,IAAM,UAAU,CAAC,GAAG,cAAc,GAAG,aAAa,QAAQ;AAE1D,IAAM,4BAA4BF,QAAO;AAAA,EAC9C,CAACC,QACE;AAAA,IACC,GAAGA;AAAA,IACH,IAAIA,GAAE;AAAA,IACN,SAASA,GAAE,WAAW,OAAOA,GAAE,WAAW,OAAO;AAAA,IACjD,MAAMA,GAAE;AAAA,IACR,SAASA,GAAE;AAAA;AAAA,IAEX,gBAAgBL,SAAQ;AAAA,IACxB,SAASA,SAAQ;AAAA,EACnB;AACJ;AAEO,IAAM,uBAAN,cAAmCD,WAAU;AAAA,EACzC;AAAA,EACA;AAAA,EAET,QAAQ;AAAA,EAER;AAAA,EAES,WAAW,IAAI,iBAAiB,CAAC,CAAQ;AAAA,EAEzC;AAAA,EAET,YAAY,MAAkC;AAC5C,UAAM,EAAE,QAAQ,2BAA2B,SAAS,CAAC,EAAE,CAAC;AACxD,SAAK,KAAK,KAAK,OAAO,WAAW;AACjC,SAAK,OAAO,KAAK,OAAO,WAAW;AACnC,SAAK,SAAS,KAAK;AACnB,SAAK,QAAQ;AAEb,SAAK,cAAc,IAAI,QAAQ,CAAC,QAAQ;AACtC,iBAAW,MAAM;AACf,cAAM,KAAK,KAAK,OAAO,eAAe,IAAI,aAAa,UAAU;AACjE,aAAK,QAAQ,CAAC,CAAC,GAAG;AAClB,YAAI,EAAE;AAAA,MACR,GAAG,GAAI;AAAA,IACT,CAAC;AAAA,EACH;AAAA,EAEA,UAAU,YAAY;AACpB,eAAW,MAAM,KAAK,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC,GAAG,CAAC;AAEhE,UAAM,KAAK,MAAM,KAAK;AAEtB,QAAI,GAAG,WAAW,GAAG,SAAS;AAC5B,aAAO;AAAA,QACL,SAAS,GAAG;AAAA,QACZ,OAAO;AAAA,UACL,IAAI,GAAG;AAAA,UACP,aAAa;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,UAAM,GAAG,QAAQ;AAEjB,WAAO;AAAA,MACL,SAAS,GAAG;AAAA,MACZ,OAAO;AAAA,QACL,IAAI,GAAG;AAAA,QACP,aAAa;AAAA,MACf;AAAA,IACF;AAAA,EACF;AAAA,EAEA,cAAc,OAAO,YAAoB;AACvC,UAAM,YAAY,KAAK,OAAO,KAAK,CAACM,OAAMA,GAAE,OAAO,OAAO,GAAG;AAE7D,UAAM,QAAQ,KAAK,OAAO,eAAe,SAAS;AAElD,QAAI,CAAC;AAAO,YAAM,IAAI,MAAM,kBAAkB;AAE9C,SAAK,cAAc,QAAQ,QAAQ,KAAK;AACxC,UAAM,KAAK,QAAQ;AAEnB,UAAM,QAAQ,KAAK,OAAO,KAAK,CAACA,OAAMA,GAAE,OAAO,OAAO;AAEtD,QAAI,CAAC;AAAO,YAAM,IAAI,MAAM,iBAAiB;AAE7C,SAAK,SAAS,OAAO,KAAK,gBAAgB,OAAO;AACjD,SAAK,eAAe,OAAO;AAC3B,SAAK,kBAAkB,CAAC,MAAM,OAAkB,CAAC;AAEjD,WAAO;AAAA,EACT;AAAA,EAEA,aAAa,aAAa,MAAM,KAAK,aAAa,WAAW;AAAA,EAC7D,aAAa,YAAY;AACvB,YAAQ,MAAM,KAAK,aAAa;AAAA,EAClC;AAAA,EACA,eAAe,YAAY;AACzB,WAAO,CAAC,EAAE,MAAM,KAAK,aAAa;AAAA,EACpC;AAAA,EACA,aAAa,aACV,MAAM,KAAK,aAAa;AAAA,EAE3B,cAAc,YAAY,KAAK;AAAA,EAE/B,kBAAkB,YAAY;AAC5B,UAAM,UAAU,MAAM,KAAK,WAAW;AACtC,UAAM,QAAQ,0BAA0B,KAAK,CAACA,OAAMA,GAAE,OAAO,OAAO;AACpE,UAAM,WAAW,MAAM,KAAK,YAAY;AACxC,UAAM,UAAU,MAAM,KAAK,WAAW;AAEtC,WAAOJ,oBAAmB;AAAA,MACxB;AAAA,MACA;AAAA,MACA,MAAM,KAAK;AAAA,MACX,WAAWC,QAAO,QAAQ;AAAA,IAC5B,CAAC;AAAA,EACH;AAAA,EAEU,oBAAoB,CAAC,aAAuB;AACpD,QAAI,SAAS,WAAW,GAAG;AACzB,WAAK,KAAK,YAAY;AAAA,IACxB,OAAO;AACL,WAAK,KAAK,UAAU,EAAE,SAAS,SAAS,CAAC,EAAa,CAAC;AAAA,IACzD;AAAA,EACF;AAAA,EAEU,iBAAiB,CAAC,YAA6B;AACvD,SAAK,KAAK,UAAU;AAAA,MAClB,OAAO,EAAE,IAAI,SAAmB,aAAa,MAAM;AAAA,IACrD,CAAC;AAAA,EACH;AAAA,EAEU,eAAe,MAAM;AAC7B,SAAK,KAAK,YAAY;AAAA,EACxB;AACF;AAEO,IAAM,wBAAwB,CAAC;AAAA,EACpC;AACF,MAEc;AACZ,SAAO;AAAA,IACL,IAAI,OAAO,WAAW;AAAA,IACtB,MAAM,OAAO,WAAW;AAAA,IACxB,SAAS,OAAO,WAAW,QAAQ;AAAA,IACnC,gBAAgB;AAAA,IAChB,cAAc;AAAA,MACZ,QAAQ,OAAO,WAAW,YAAY,CAAC,EAAE;AAAA,MACzC,SAAS,OAAO,WAAW,YAAY,CAAC,EAAE;AAAA,MAC1C,kBAAkB,OAAO,WAAW,YAAY,CAAC,EAAE;AAAA,IACrD;AAAA,IACA,iBAAiB,MAAM;AACrB,YAAMK,aAAY,IAAI,qBAAqB,EAAE,OAAO,CAAC;AAErD,aAAO;AAAA,QACL,WAAAA;AAAA,QACA,QAAQ;AAAA,UACN,QAAQ,YAAY;AAClB,kBAAM,KAAK,MAAMA,WAAU;AAE3B,gBAAI,CAAC,GAAG,SAAS,CAAC,GAAG;AAAQ,qBAAO;AAEpC,mBAAO,IAAI,QAAQ,CAAC,KAAK,QAAQ;AAC/B,oBAAM,YAAY,WAAW,MAAM;AACjC,oBAAI;AAAA,cACN,GAAG,GAAI;AAGP,iBAAG,OAAO,WAAW;AAAA,gBACnB,OAAO;AAAA,kBACL,OAAO,MAAM;AACX,iCAAa,SAAS;AAEtB,0BAAM,OAAO,GAAG,MAAM;AACtB,wBAAI,MAAM;AACR,8BAAQ,IAAI,UAAU,IAAI;AAC1B,0BAAI,IAAI;AAAA,oBACV,OAAO;AACL,0BAAI;AAAA,oBACN;AAAA,kBACF;AAAA,gBACF;AAAA,cACF,CAAC;AAAA,YACH,CAAC;AAAA,UACH;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEO,IAAMA,aAAY;AAAA,EACvB,WAAW;AAAA,EACX,SAAS,QAAQ,IAAI,CAACC,OAAM,sBAAsB,EAAE,QAAQA,GAAE,CAAC,CAAC;AAClE;;;AFhOA,SAAS,4BAA4B;AAE9B,IAAM,EAAE,QAAAC,SAAQ,cAAc,sBAAsB,IAAIC;AAAA,EAC7D,CAAC,GAAG,QAAW,GAAG,yBAAyB;AAAA,EAC3C,CAAC,eAAe,CAAC;AACnB;AAEO,IAAM,iBAAqD;AAAA,EAChE,aAAa,CAAC,mBAAmB;AAAA,EACjC,YAAY,qBAAqB,CAAC,WAAcC,UAAe,CAAC;AAAA,EAChE;AAAA,EACA;AACF;;;A6EjBI,gBAAAC,aAAA;AAFG,IAAM,cAAc,CAAC,EAAE,SAAS,MAAyB;AAC9D,SACE,gBAAAA,MAAC,+BAA4B,QAAQC,SAClC,UACH;AAEJ;;;ACTA,SAAS,qBAAqB;AAM1B,gBAAAC,aAAA;AAFG,IAAM,iBAAiB,CAAC,EAAE,SAAS,MAAyB;AACjE,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,QAAQC;AAAA,MACR,YAAY;AAAA,MACZ;AAAA,MACA,sBAAsB;AAAA,QACpB,YAAY,EAAE,WAAWC,QAAO,gBAAgB,UAAU;AAAA,MAC5D;AAAA,MAEC;AAAA;AAAA,EACH;AAEJ;;;AClBA,SAA4B,WAAAC,iBAAe;AAE3C,SAAS,oBAAAC,yBAAwB;AACjC,OAAOC,YAAW;AAgCd,qBAAAC,WACE,OAAAC,OADF,QAAAC,cAAA;AArBG,IAAM,eAAe,CAAC,EAAE,SAAS,MAAyB;AAC/D,QAAM,EAAE,OAAAC,SAAQ,EAAE,WAAW,WAAW,EAAE,IAAI,YAAY;AAE1D,QAAM,kBAAkBC;AAAA,IACtB,MACE,eAAeD,SACXE,OAAM,gBAAgB,UAAU,GAAGF,OAAM,SAAS,IAClDA,SACAE,OAAM,gBAAgB,UAAU,GAAGF,MAAK,IACxC;AAAA,IACN,CAACA,MAAK;AAAA,EACR;AACA,QAAM,iBAAiBC;AAAA,IACrB,MACE,cAAcD,SACVE,OAAM,gBAAgB,SAAS,GAAGF,OAAM,QAAQ,IAChD;AAAA,IACN,CAACA,MAAK;AAAA,EACR;AAEA,SACE,gBAAAD,OAAAF,WAAA,EACE;AAAA,oBAAAC;AAAA,MAAC;AAAA;AAAA,QACC,yBAAyB;AAAA,UACvB,QAAQ;AAAA,YACN,kBACI,GAAG,YAAY,KAAKK,kBAAiB,MAAM,eAAe,CAAC,MAC3D;AAAA,YAEJ,iBACI,yCAAyC,YAAY,KAAKA;AAAA,cACxD;AAAA,cACA;AAAA,YACF,CAAC,QACD;AAAA,UACN,EAAE,KAAK,EAAE;AAAA,QACX;AAAA;AAAA,IACF;AAAA,IACC;AAAA,KACH;AAEJ;;;AlFhBoB,gBAAAC,aAAA;AA3Bb,IAAM,YAAY,CAAC,EAAE,SAAS,MAAyB;AAC5D,QAAM,EAAE,OAAO,IAAI,YAAY;AAE/B,EAAAC;AAAA,IAAS,MACPC,YAAW,UAAU;AAAA,MACnB;AAAA,MACA,SAASC,QAAO;AAAA,MAChB,mBAAmB;AAAA,QACjB,gBAAgB;AAAA,UACd,SAAS;AAAA,YACP,WAAWA,QAAO,YAAY;AAAA,YAC9B,WAAWA,QAAO,YAAY;AAAA,UAChC;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AAEA,SACE,gBAAAH,MAAC,cACC,0BAAAA,MAAC,uBAAoB,QAAQ,aAC3B,0BAAAA,MAAC,yBACC,0BAAAA,MAAC,kBACC,0BAAAA,MAAC,eACC,0BAAAA,MAAC,gBACC,0BAAAA,MAAC,oBACC,0BAAAA,MAAC,2BACC,0BAAAA,MAAC,gBAAc,UAAS,GAC1B,GACF,GACF,GACF,GACF,GACF,GACF,GACF;AAEJ;;;ArG5BA,OAAOI,iBAAgB;AA+BU,SAGrB,YAAAC,YAHqB,OAAAC,OAGrB,QAAAC,cAHqB;AA7BjC,IAAM,SAAS,MAAM;AACnB,iBAAe;AAEf,QAAM,EAAE,aAAa,aAAa,IAAI,YAAY;AAElD,QAAM,EAAE,eAAe,YAAY,IAAI,YAAY;AAEnD,QAAM,oBAAoB,cACvB,MAAM,MAAM,YAAY,IAAI,CAACC,OAAM,CAACA,GAAE,OAAO,KAAK,CAACA,GAAE,MAAM,CAAC,CAAC,EAC7D,gBAAgB;AAEnB,QAAM,CAAC,EAAE,IAAI,IAAI,yBAAyB;AAE1C,EAAAC,YAAU,MAAM;AACd,QAAI,eAAe;AAAc;AAEjC,SAAK,SAAS;AAAA,EAChB,GAAG,CAAC,MAAM,cAAc,WAAW,CAAC;AAEpC,QAAM,EAAE,iBAAiB,qBAAqB,eAAe,IAC3D,+BAA+B;AAEjC,SACE,gBAAAH;AAAA,IAAC;AAAA;AAAA,MACC,YAAW;AAAA,MACX,WAAWF,YAAW,CAAC,WAAW,mBAAmB,CAAC;AAAA,MACtD;AAAA,MAEA,0BAAAE,MAAC,UAAO,UAAU,iBAChB,0BAAAC,OAAC,SAAM,MAAK,KAAI,SAAS,gBAAAD,MAAC,UAAO,GAC/B;AAAA,wBAAAA,MAAC,SAAM,MAAK,KAAI,SAAS,gBAAAA,MAAC,WAAQ,GAAI;AAAA,QACrC,oBACC,gBAAAC,OAAAF,YAAA,EACE;AAAA,0BAAAC,MAAC,SAAM,MAAK,WAAU,SAAS,gBAAAA,MAAC,cAAW,GAAI;AAAA,UAC/C,gBAAAA,MAAC,SAAM,MAAK,UAAS,SAAS,gBAAAA,MAAC,aAAU,GAAI;AAAA,UAC7C,gBAAAA,MAAC,SAAM,MAAK,aAAY,SAAS,gBAAAA,MAAC,gBAAa,GAAI;AAAA,WACrD,IAEA,gBAAAA,MAAC,SAAM,MAAK,KAAI,SAAS,gBAAAA,MAAC,YAAS,IAAG,KAAI,SAAO,MAAC,GAAI;AAAA,QAGxD,gBAAAA,MAAC,SAAM,MAAK,KAAI,SAAS,gBAAAA,MAAC,YAAS,IAAG,KAAI,SAAO,MAAC,GAAI;AAAA,SACxD,GACF;AAAA;AAAA,EACF;AAEJ;AAEO,IAAM,QAAQ,CAAC;AAAA,EACpB,gBAAgB;AAAA,EAChB,GAAG;AACL,MAE4B;AAC1B,SACE,gBAAAA,MAAC,2BAAyB,GAAG,MAC3B,0BAAAC,OAAC,aACC;AAAA,oBAAAD,MAAC,UAAO;AAAA,IACP,iBAAiB,gBAAAA,MAAC,aAAU;AAAA,KAC/B,GACF;AAEJ;",
|
|
6
|
+
"names": ["EventEmitter", "name", "i", "ee", "length", "j", "on", "i", "toString", "trim", "i", "merge", "a", "b", "content", "encode", "serialize", "id", "h", "name", "AxiosError", "code", "config", "AxiosError", "name", "read", "i", "AxiosError", "AxiosError", "config", "AxiosError", "config", "config2", "config", "merge", "AxiosError", "i", "version", "keys", "config", "i", "c", "create", "require_axios", "R", "ReflectApply", "ReflectOwnKeys", "NumberIsNaN", "EventEmitter", "n", "i", "er", "m", "w", "once", "keys", "name", "d", "b", "t", "p", "i", "c", "_", "f", "y", "g", "n", "m", "k", "k2", "a", "j", "q", "v", "__assign", "safeJsonParse", "safeJsonStringify", "value", "self", "i", "tslib_es6_exports", "__assign", "__asyncDelegator", "__asyncGenerator", "__asyncValues", "__await", "__awaiter", "__classPrivateFieldGet", "__classPrivateFieldSet", "__createBinding", "__decorate", "__exportStar", "__extends", "__generator", "__importDefault", "__importStar", "__makeTemplateObject", "__metadata", "__param", "__read", "__rest", "__spread", "__spreadArrays", "__values", "d", "b", "extendStatics", "t", "p", "i", "c", "_", "f", "y", "g", "n", "m", "k", "k2", "a", "j", "q", "v", "init_tslib_es6", "tslib_es6_exports", "__assign", "__asyncDelegator", "__asyncGenerator", "__asyncValues", "__await", "__awaiter", "__classPrivateFieldGet", "__classPrivateFieldSet", "__createBinding", "__decorate", "__exportStar", "__extends", "__generator", "__importDefault", "__importStar", "__makeTemplateObject", "__metadata", "__param", "__read", "__rest", "__spread", "__spreadArrays", "__values", "d", "b", "extendStatics", "t", "p", "i", "c", "_", "f", "y", "g", "n", "m", "k", "k2", "a", "j", "q", "v", "init_tslib_es6", "fromMiliseconds", "tslib_es6_exports", "__assign", "__asyncDelegator", "__asyncGenerator", "__asyncValues", "__await", "__awaiter", "__classPrivateFieldGet", "__classPrivateFieldSet", "__createBinding", "__decorate", "__exportStar", "__extends", "__generator", "__importDefault", "__importStar", "__makeTemplateObject", "__metadata", "__param", "__read", "__rest", "__spread", "__spreadArrays", "__values", "d", "b", "extendStatics", "t", "p", "i", "c", "_", "f", "y", "g", "n", "m", "k", "k2", "a", "j", "q", "v", "init_tslib_es6", "f", "ss", "a", "i", "require_browser", "serialize", "k", "transmit", "level", "fallback", "ts", "i", "a", "length", "i", "i", "length", "i", "length", "a", "b", "x", "n", "i", "randomBytes", "length", "i", "SHA512", "i", "K", "m", "h", "a", "b", "c", "d", "j", "digest", "i", "X", "Y", "a", "c", "p", "q", "b", "t", "n", "m", "j", "x", "y", "d", "t2", "t22", "b2", "b3", "b4", "f", "g", "h", "zi", "generateKeyPairFromSeed", "generateKeyPair", "L", "k", "sign", "hs", "verify", "z", "j2", "x2", "i", "src", "j", "a", "b", "compare", "i", "Poly1305", "t2", "m", "c", "g", "f", "i", "h", "digest", "a", "b", "ChaCha20Poly1305", "h", "length", "i", "h", "HMAC", "i", "h", "digest", "HKDF", "length", "i", "SHA256", "i", "K", "w", "p", "a", "b", "c", "d", "f", "g", "h", "j", "u", "t2", "digest", "i", "c", "p", "q", "b", "t", "n", "m", "j", "a", "t2", "t22", "b2", "b3", "b4", "z", "x", "d", "f", "generateKeyPairFromSeed", "generateKeyPair", "sharedKey", "name", "icons", "i", "content", "name", "description", "x", "decode", "i", "string", "keys", "i", "encode", "decode", "a", "b", "parse", "k", "keys", "x", "tslib_es6_exports", "__assign", "__asyncDelegator", "__asyncGenerator", "__asyncValues", "__await", "__awaiter", "__classPrivateFieldGet", "__classPrivateFieldSet", "__createBinding", "__decorate", "__exportStar", "__extends", "__generator", "__importDefault", "__importStar", "__makeTemplateObject", "__metadata", "__param", "__read", "__rest", "__spread", "__spreadArrays", "__values", "d", "b", "extendStatics", "t", "p", "i", "c", "_", "f", "y", "g", "n", "m", "k", "k2", "a", "j", "q", "v", "init_tslib_es6", "isReactNative", "isNode", "isBrowser", "require_browser", "length", "n", "Buffer", "Symbol", "Uint8Array", "DataView", "Map", "Promise", "Set", "WeakMap", "othValue", "keys", "Long", "fromString", "p", "i", "toString", "equals", "compare", "or", "xor", "le", "useEffect", "useLayoutEffect", "useLayoutEffect", "useCallback", "Left", "Right", "EventEmitter", "chains", "x", "name", "chains", "id", "provider", "x", "getAddress", "getAddress2", "x", "connector", "publicClient", "webSocketPublicClient", "config2", "config2", "x", "name", "publicClient", "getAddress", "publicClient", "chains", "x", "connector", "disconnect", "sendTransaction", "Left", "Right", "val", "useCallback", "BigNumber", "Maybe", "useMemo", "CosmosNetworks", "EvmNetworks", "Left", "Right", "ts", "Left", "Right", "config", "EitherAsync", "useQuery", "config", "useQuery", "EitherAsync", "Maybe", "BigNumber", "state", "useMemo", "ss", "b", "y", "a", "val", "config", "Maybe", "createContext", "useMemo", "useContext", "jsx", "createContext", "y", "useMemo", "ss", "Maybe", "rt", "p", "t", "useContext", "useCallback", "disconnect", "useCallback", "EitherAsync", "Maybe", "useQuery", "y", "d", "Maybe", "a", "n", "EitherAsync", "useMemo", "useMemo", "y", "config", "useTranslation", "as", "_7a468", "jsx", "jsx", "jsx", "classNames", "_7a468", "jsx", "classNames", "classNames", "createElement", "createElement", "classNames", "jsx", "jsx", "jsx", "jsx", "jsx", "jsxs", "jsx", "jsxs", "jsx", "jsx", "jsxs", "jsx", "jsx", "jsx", "useTranslation", "container", "classNames", "createContext", "useContext", "useEffect", "useMemo", "useState", "container", "useEffect", "useState", "useState", "useEffect", "jsx", "jsxs", "createContext", "useContext", "useState", "useMemo", "useEffect", "container", "jsx", "jsxs", "t", "type", "jsx", "jsxs", "t", "useTranslation", "classNames", "container", "jsx", "BigNumber", "Maybe", "useEffect", "useRef", "useState", "useEffect", "useEffect", "useRef", "useEffect", "fs", "Fragment", "jsx", "jsxs", "useState", "useEffect", "value", "BigNumber", "Maybe", "useRef", "Fragment", "jsx", "jsxs", "jsx", "jsx", "jsxs", "useLocation", "useNavigate", "useNavigate", "y", "a", "useLocation", "useEffect", "useState", "jsx", "fallback", "useState", "useEffect", "Fragment", "jsx", "jsxs", "jsx", "jsxs", "t", "useTranslation", "useTranslation", "BigNumber", "EitherAsync", "Maybe", "useMemo", "useState", "useTranslation", "useNavigate", "useStakeGetValidators", "useMutation", "y", "useStakeGetValidators", "useMemo", "Maybe", "ss", "BigNumber", "useState", "k", "rt", "t", "useTranslation", "useMutation", "EitherAsync", "useNavigate", "useTranslation", "jsx", "jsxs", "t", "useTranslation", "Fragment", "jsx", "jsxs", "rt", "List", "Maybe", "useTranslation", "Trigger", "useMemo", "jsx", "jsxs", "t", "useTranslation", "useMemo", "ss", "Maybe", "val", "Trigger", "rt", "List", "Maybe", "Trigger", "useTranslation", "jsx", "jsxs", "t", "useTranslation", "Maybe", "Trigger", "Fragment", "jsx", "jsxs", "t", "useTranslation", "Trans", "useTranslation", "useNavigate", "Maybe", "useMemo", "y", "a", "ss", "Maybe", "useNavigate", "spanStyle", "Fragment", "jsx", "jsxs", "t", "useTranslation", "Trans", "spanStyle", "useTranslation", "useEffect", "useNavigate", "EitherAsync", "Left", "Right", "$$t", "Symbol", "A", "Get", "_o", "_debug", "undefined", "R", "get", "r", "k", "concat", "r1", "r2", "fromMaybe", "keys", "Object", "useConstant", "compute", "ref", "useRef", "current", "assertNever", "_value", "Error", "useStateMachineImpl", "definition", "useReducer", "createReducer", "createInitialState", "state", "dispatch", "send", "sendable", "type", "setContext", "updater", "useEffect", "entry", "states", "value", "effect", "exit", "event", "context", "nextEvents", "initial", "on", "nextEventsT", "log", "createLogger", "machineState", "internalEvent", "nextContext", "stateNode", "resolvedTransition", "guard", "target", "nextStateValue", "didGuardDeny", "resolvedStateNode", "defaultConsole", "console", "groupLabel", "verbose", "process", "groupCollapsed", "nested", "forEach", "message", "groupEnd", "useStateMachine", "t", "transactionConstruct", "sendTransaction", "id", "EitherAsync", "i", "transactionConstruct", "val", "tx", "Right", "Left", "useNavigate", "id", "useEffect", "jsx", "jsx", "jsxs", "t", "useTranslation", "useAccount", "tt", "useAccount", "connect", "c", "useCallback", "useEffect", "useState", "useLocation", "useLocation", "useState", "useEffect", "useCallback", "config", "useMemo", "Maybe", "useMemo", "Maybe", "b", "useTranslation", "BigNumber", "Fragment", "jsx", "jsxs", "t", "useTranslation", "useState", "APIManager", "darkTheme", "lightTheme", "createContext", "useContext", "useMemo", "jsx", "jsx", "lightTheme", "darkTheme", "chains", "configureChains", "mainnet", "mainnet", "config", "CosmosNetworks", "WCClient", "State", "_", "concat", "length", "name", "j", "i", "x", "encode", "length", "it2", "decode", "string", "b", "name", "Codec", "encode", "decode", "alphabet", "string", "i", "p", "c", "i", "encode", "decode", "encode", "decode", "b", "decode", "code", "code", "digest", "decode", "equals", "a", "b", "from", "name", "code", "encode", "digest", "name", "from", "identity_exports", "identity", "encode", "identity", "version", "code", "digest", "equals", "base", "decode", "i", "length", "cid", "identity_exports", "name", "encode", "decode", "string", "i", "toString", "base", "fromString", "string", "base", "toString", "fromString", "concat", "toString", "fromString", "from", "i", "BrowserInfo", "name", "version", "os", "NodeInfo", "version", "SearchBotDeviceInfo", "name", "version", "os", "BotInfo", "ReactNativeInfo", "name", "version", "os", "isNode", "import_events", "esm_exports", "IEvents", "code", "esm_exports", "id", "x", "IEvents", "IEvents", "esm_exports", "DEFAULT_ERROR", "IEvents", "INTERNAL_ERROR", "INVALID_PARAMS", "INVALID_REQUEST", "METHOD_NOT_FOUND", "PARSE_ERROR", "RESERVED_ERROR_CODES", "SERVER_ERROR", "SERVER_ERROR_CODE_RANGE", "STANDARD_ERROR_MAP", "formatErrorMessage", "formatJsonRpcError", "formatJsonRpcRequest", "formatJsonRpcResult", "getBigIntRpcId", "getError", "getErrorByCode", "isHttpUrl", "isJsonRpcError", "isJsonRpcPayload", "isJsonRpcRequest", "isJsonRpcResponse", "isJsonRpcResult", "isJsonRpcValidationInvalid", "isLocalhostUrl", "isNodeJs", "isReservedErrorCode", "isServerErrorCode", "isValidDefaultRoute", "isValidErrorCode", "isValidLeadingWildcardRoute", "isValidRoute", "isValidTrailingWildcardRoute", "isValidWildcardRoute", "isWsUrl", "parseConnectionError", "payloadId", "validateJsonRpcError", "PARSE_ERROR", "INVALID_REQUEST", "METHOD_NOT_FOUND", "INVALID_PARAMS", "INTERNAL_ERROR", "SERVER_ERROR", "RESERVED_ERROR_CODES", "SERVER_ERROR_CODE_RANGE", "STANDARD_ERROR_MAP", "DEFAULT_ERROR", "isServerErrorCode", "code", "SERVER_ERROR_CODE_RANGE", "isReservedErrorCode", "RESERVED_ERROR_CODES", "isValidErrorCode", "getError", "STANDARD_ERROR_MAP", "DEFAULT_ERROR", "getErrorByCode", "validateJsonRpcError", "parseConnectionError", "env_exports", "isNodeJs", "import_environment", "esm_exports", "env_exports", "payloadId", "getBigIntRpcId", "formatJsonRpcRequest", "id", "formatJsonRpcResult", "formatJsonRpcError", "formatErrorMessage", "getError", "INTERNAL_ERROR", "SERVER_ERROR", "isReservedErrorCode", "getErrorByCode", "isValidRoute", "isValidWildcardRoute", "isValidDefaultRoute", "x", "isValidLeadingWildcardRoute", "isValidTrailingWildcardRoute", "HTTP_REGEX", "WS_REGEX", "getUrlProtocol", "matchRegexProtocol", "isHttpUrl", "isWsUrl", "isLocalhostUrl", "isJsonRpcPayload", "isJsonRpcRequest", "isJsonRpcResponse", "isJsonRpcResult", "isJsonRpcError", "isJsonRpcValidationInvalid", "import_events", "esm_exports", "DEFAULT_ERROR", "IBaseJsonRpcProvider", "IEvents", "IJsonRpcConnection", "IJsonRpcProvider", "INTERNAL_ERROR", "INVALID_PARAMS", "INVALID_REQUEST", "METHOD_NOT_FOUND", "PARSE_ERROR", "RESERVED_ERROR_CODES", "SERVER_ERROR", "SERVER_ERROR_CODE_RANGE", "STANDARD_ERROR_MAP", "formatErrorMessage", "formatJsonRpcError", "formatJsonRpcRequest", "formatJsonRpcResult", "getBigIntRpcId", "getError", "getErrorByCode", "isHttpUrl", "isJsonRpcError", "isJsonRpcPayload", "isJsonRpcRequest", "isJsonRpcResponse", "isJsonRpcResult", "isJsonRpcValidationInvalid", "isLocalhostUrl", "isNodeJs", "isReservedErrorCode", "isServerErrorCode", "isValidDefaultRoute", "isValidErrorCode", "isValidLeadingWildcardRoute", "isValidRoute", "isValidTrailingWildcardRoute", "isValidWildcardRoute", "isWsUrl", "parseConnectionError", "payloadId", "validateJsonRpcError", "PARSE_ERROR", "INVALID_REQUEST", "METHOD_NOT_FOUND", "INVALID_PARAMS", "INTERNAL_ERROR", "SERVER_ERROR", "RESERVED_ERROR_CODES", "SERVER_ERROR_CODE_RANGE", "STANDARD_ERROR_MAP", "DEFAULT_ERROR", "isServerErrorCode", "code", "SERVER_ERROR_CODE_RANGE", "isReservedErrorCode", "RESERVED_ERROR_CODES", "isValidErrorCode", "getError", "STANDARD_ERROR_MAP", "DEFAULT_ERROR", "getErrorByCode", "validateJsonRpcError", "parseConnectionError", "env_exports", "isNodeJs", "import_environment", "esm_exports", "env_exports", "payloadId", "getBigIntRpcId", "formatJsonRpcRequest", "id", "formatJsonRpcResult", "formatJsonRpcError", "formatErrorMessage", "getError", "INTERNAL_ERROR", "SERVER_ERROR", "isReservedErrorCode", "getErrorByCode", "isValidRoute", "isValidWildcardRoute", "isValidDefaultRoute", "x", "isValidLeadingWildcardRoute", "isValidTrailingWildcardRoute", "IEvents", "IJsonRpcConnection", "IEvents", "IBaseJsonRpcProvider", "IJsonRpcProvider", "HTTP_REGEX", "WS_REGEX", "getUrlProtocol", "matchRegexProtocol", "isHttpUrl", "isWsUrl", "isLocalhostUrl", "isJsonRpcPayload", "isJsonRpcRequest", "isJsonRpcResponse", "isJsonRpcResult", "isJsonRpcError", "isJsonRpcValidationInvalid", "isWsUrl", "isLocalhostUrl", "id", "formatJsonRpcError", "parseConnectionError", "os", "name", "State", "p", "$", "R", "id", "Long", "State", "ChainWC", "WCClient", "walletConnectWallet", "walletConnectWallet", "config", "Connector", "mainnet", "createWalletClient", "custom", "CosmosNetworks", "chains", "c", "a", "connector", "w", "chains", "configureChains", "connector", "jsx", "chains", "jsx", "chains", "config", "useMemo", "assignInlineVars", "merge", "Fragment", "jsx", "jsxs", "theme", "useMemo", "merge", "assignInlineVars", "jsx", "useState", "APIManager", "config", "classNames", "Fragment", "jsx", "jsxs", "a", "useEffect"]
|
|
7
|
+
}
|